java.io.IOException: No such file or directory
at java.io.FileInputStream.readBytes(Native Method)
at java.io.FileInputStream.read(FileInputStream.java:194)
at sun.nio.cs.StreamDecoder$CharsetSD.readBytes(StreamDecoder.java:411)
at sun.nio.cs.StreamDecoder$CharsetSD.implRead(StreamDecoder.java:453)
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:183)
at java.io.InputStreamReader.read(InputStreamReader.java:167)
at java.io.BufferedReader.fill(BufferedReader.java:136)
at java.io.BufferedReader.readLine(BufferedReader.java:299)
at java.io.BufferedReader.readLine(BufferedReader.java:362)
at com.huawei.customsms.hljdx.service.DZZDTask.sendSM(DZZDTask.java:59)
at com.huawei.customsms.hljdx.service.Test.main(Test.java:30)是不是说没有这个文件或目录啊? 但是我new File(path);后 exists()返回true啊,而且前面实现了复制. 但是在读readLine()时报出这个错误,啥意思呢?怎么解决?
at java.io.FileInputStream.readBytes(Native Method)
at java.io.FileInputStream.read(FileInputStream.java:194)
at sun.nio.cs.StreamDecoder$CharsetSD.readBytes(StreamDecoder.java:411)
at sun.nio.cs.StreamDecoder$CharsetSD.implRead(StreamDecoder.java:453)
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:183)
at java.io.InputStreamReader.read(InputStreamReader.java:167)
at java.io.BufferedReader.fill(BufferedReader.java:136)
at java.io.BufferedReader.readLine(BufferedReader.java:299)
at java.io.BufferedReader.readLine(BufferedReader.java:362)
at com.huawei.customsms.hljdx.service.DZZDTask.sendSM(DZZDTask.java:59)
at com.huawei.customsms.hljdx.service.Test.main(Test.java:30)是不是说没有这个文件或目录啊? 但是我new File(path);后 exists()返回true啊,而且前面实现了复制. 但是在读readLine()时报出这个错误,啥意思呢?怎么解决?
可能你操作的file是一个目录
需要判断下if(file.exists()&& file.isFile())
上面说的在readLine()时抛出异常了,经过分析是因为在此之前已有过一次readLine(),在我将前面的readLine()注释掉后就没问题了之后做了些测试,发现是不是将文件以流的形式读到内存中后,只能read 一次 ? 短时间内都不能多次读取吗? 要是我想读(read)两次话就必须实例化两次流对象吗 ?
at com.huawei.customsms.hljdx.service.Test.main(Test.java:30) 这两个类是你自己写的吗?查看一下对应的错误行?
String temp = null;
while((temp = in.readLine()) ! = null) {
String temp = in.readLing();
System.out.println(temp); //这里有打印信息
}
//上面已经读了一次了,流也没关
String _temp = null;
while((_temp = in.readLine()) != null) {
System.out.println(_temp); //这里就没有了
}
写文件需要加上:File temp = new File("path");
//当这个路径的文件不存在,将在磁盘上新建改文件
if(!temp.exists()){
temp.mkdirs();
}