shitou37215 2018-04-20 06:18 采纳率: 50%
浏览 475
已采纳

fileinput怎么也读不了文件,菜鸟求解答!!

学习JAVA卡在FILEINPUT里了,费了一天功夫都无法解决读文件字节流的问题,求高手帮忙看看这段代码,用了两个方法都没法读出来,运行时总显示“FileNotFoundException”。用开头前三行代码检测过555.txt文件确实存在并且可读(显示TRUE),也不是编码问题,GBK和UTF-8都试过
package question;
import java.io.*;
import java.io.File;
import java.io.FileInputStream;
public class question1 {
public static void main(String[] args) {
/*File fin1=new File("D:\555.txt"); //本行及以下两行检测555.txt文件是否存在及是否可读,以便排除这两种情况
System.out.println("文件是否存在:"+fin1.exists());
System.out.println("文件能否读取:"+fin1.canRead());*/

/*String sp = File.separator;//获取名称分隔符        
FileInputStream fin1 = new FileInputStream("D:"+sp+"555.txt");  */  //本行及上一行代码为方法1,下一行代码为方法2,任选一种

FileInputStream fin1 = new FileInputStream("D:\\555.txt");

}
}

  • 写回答

2条回答 默认 最新

  • 玛已 2018-04-20 06:38
    关注

    可能真的是你的路径有问题,建议在使用文件流读取文件时,对文件进行一个判空操作,确保文件存在才进行读取,否则若文件不存在则会报Filenotfound异常
    public static void main(String[] args) {

        File f=new File("D:\\a.txt");
        FileInputStream fs=null;
        try {
            if(f.exists()){
            fs=new FileInputStream(f);
            byte[] buff=new byte[2014];
            int i=0;
                    while((i=fs.read(buff))!=-1){
                        System.out.println(i);
                    }
            }else{
                System.out.println("文件不存在");
                f.createNewFile();
                fs=new FileInputStream(f);
                byte[] buff=new byte[2014];
                int i=0;
                        while((i=fs.read(buff))!=-1){
                            System.out.println(i);
                        }
            }
        } catch (Exception e) {
    
            e.printStackTrace();
        }
    
    
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥20 求一个html代码,有偿
  • ¥100 关于使用MATLAB中copularnd函数的问题
  • ¥20 在虚拟机的pycharm上
  • ¥15 jupyterthemes 设置完毕后没有效果
  • ¥15 matlab图像高斯低通滤波
  • ¥15 针对曲面部件的制孔路径规划,大家有什么思路吗
  • ¥15 钢筋实图交点识别,机器视觉代码
  • ¥15 如何在Linux系统中,但是在window系统上idea里面可以正常运行?(相关搜索:jar包)
  • ¥50 400g qsfp 光模块iphy方案
  • ¥15 两块ADC0804用proteus仿真时,出现异常