关于文件读取

独孤帆 2009-11-21 05:23:35
为什么我把args[0]改成文件路径就出现
ArrayIndexOutOfBoundsException异常?

import java.io.*;

public class TestInputStream1{
public static void main(String args[])throws IOException{


InputStream is = new FileInputStream(args[0]);//new一个File进去也不行
byte b[] = new byte[10000];
int len = 0;

while(true){
len = is.read(b);

if(len == -1){
break;
}
//System.out.println(len);

System.out.print(new String(b,0,len));
}
is.close();
}
}
...全文
139 16 打赏 收藏 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
mldqingfenglin 2009-11-23
  • 打赏
  • 举报
回复
"D:\\JAVA\\day16\\day16\\note.txt",换成

"D:\\\\JAVA\\\\day16\\\\day16\\\\note.txt",这样可以的 ,我试过了
mldqingfenglin 2009-11-23
  • 打赏
  • 举报
回复
"D:\\JAVA\\day16\\day16\\note.txt",换成

"D:\\\\JAVA\\\\day16\\\\day16\\\\note.txt",试试
lanwenyao 2009-11-22
  • 打赏
  • 举报
回复
byte b[] = new byte[10000];


是不是太小啦?
10000改成100W试下
独孤帆 2009-11-22
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 foolishdault 的回复:]
你把 args[0] 换成什么了?
请主要java中有些字符是需要转义的
[/Quote]
"D:\\JAVA\\day16\\day16\\note.txt",我输入的绝对是存在的文件
没改前用args[0]输入是可以读取的
铁匠梁老师 2009-11-21
  • 打赏
  • 举报
回复
你把 args[0] 换成什么了?
请主要java中有些字符是需要转义的
dzry24 2009-11-21
  • 打赏
  • 举报
回复


"D:\\test.txt"
bayougeng 2009-11-21
  • 打赏
  • 举报
回复
把文件放到你的工程根目录下。
然后不带任何路径的访问。
小_Y 2009-11-21
  • 打赏
  • 举报
回复
byte b[] = new byte[10000];
有问题吧、?
yngxulng 2009-11-21
  • 打赏
  • 举报
回复
用绝对路径
还有你路径下有没1.txt这个文件
阿_布 2009-11-21
  • 打赏
  • 举报
回复
用绝对路径没问题
hjjk123 2009-11-21
  • 打赏
  • 举报
回复
异常应该是字节数组报的异常
我也碰到过!我当时是读取的图片!!但奇怪的是 图片显示正常!!
但报异常
不善^ 2009-11-21
  • 打赏
  • 举报
回复
1.使用绝对路径
或者这样

String in = args[0];

InputStream is = new FileInputStream(new File(in));
amdgaming 2009-11-21
  • 打赏
  • 举报
回复
d:盘 建一个 文件 1.txt,然后 里面 随便输入 点数据。。。。

public class TestInput {

/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
InputStream is = new FileInputStream(new File("D:/1.txt"));// new一个File进去也不行
byte b[] = new byte[1024];
int len = 0;

while ((len = is.read(b)) != -1) {

System.out.print(new String(b, 0, len));
}
is.close();
}

}

独孤帆 2009-11-21
  • 打赏
  • 举报
回复
我是用\\的,否则编译都不通过
friendly_ 2009-11-21
  • 打赏
  • 举报
回复
这样用 java TestInputStream1 d:\\test.txt
dajiadebeibei9 2009-11-21
  • 打赏
  • 举报
回复
斜杠用两个 /换成// 试试

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧