除非你把客户端 a.txt 文件上传,然后用 File 类读取;
或者让用户将 a.txt 文件拷贝到某个页面的 txtarea 中。然后后台读取
那就说明程序执行了file.createNewFile()没有执行
fw.write("str")
我想应该是上面的FileWriter fw = null这一句定义错了,应该写成
FileWriter fw = new FileWriter(file)
//这是FileWriter的一个构造方法括号里面的是File对象
还有就是fw.write("str")里面的参数不是"str"(因为这样就输出了str字符串),参数应该是str(不带引号的)
希望能对你有帮助!!!
就是java读写文件,直接用文件流就可以给你个代码参考,以字符为单位读取文件,常用于读文本,数字等类型的文件
publicstaticvoid readFileByChars(String fileName) {
File file =new File(fileName)
Reader reader =null
try {
System.out.println("以字符为单位读取文件内容,一次读一个字节:")
// 一次读一个字符
reader =new InputStreamReader(new FileInputStream(file))
int tempchar
while ((tempchar = reader.read()) !=-1) {
// 对于windows下,\r\n这两个字符在一起时,表示一个换行。
// 但如果这两个字符分开显示时,会换两次行。
// 因此,屏蔽掉\r,或者屏蔽\n。否则,将会多出很多空行。
if (((char) tempchar) !='\r') {
System.out.print((char) tempchar)
}
}
reader.close()
} catch (Exception e) {
e.printStackTrace()
}
try {
System.out.println("以字符为单位读取文件内容,一次读多个字节:")
// 一次读多个字符
char[] tempchars =newchar[30]
int charread =0
reader =new InputStreamReader(new FileInputStream(fileName))
// 读入多个字符到字符数组中,charread为一次读取字符数
while ((charread = reader.read(tempchars)) !=-1) {
// 同样屏蔽掉\r不显示
if ((charread == tempchars.length) &&(tempchars[tempchars.length -1] !='\r')) {
System.out.print(tempchars)
} else {
for (int i =0i <charreadi++) {
if (tempchars[i] =='\r') {
continue
} else {
System.out.print(tempchars[i])
}
}
}
}
} catch (Exception e1) {
e1.printStackTrace()
} finally {
if (reader !=null) {
try {
reader.close()
} catch (IOException e1) {
}
}
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)