在现有文件中读写

编程入门 行业动态 更新时间:2024-10-27 21:21:50
本文介绍了在现有文件中读写的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

import java.io. *; import java.io.FileReader; import java.io.BufferedReader; import java.io.PrintWriter; public class tryy { public static void main(字符串 args []) throws IOException {文件文件=新文件( D:\\fold \\myfile.txt); PrintWriter writer = new PrintWriter(file, UTF-8\" ); 字符串 p = fold; 文件目录=新文件(p); File [] files = dir.listFiles(); for (文件f:文件) if (f.isFile() ) { StringBuilder sb = new StringBuilder(); BufferedReader ins = null; ins = new BufferedReader( new FileReader(f)); String 行; writer.print( [); writer.print(f.getName()); writer.println( _ DINAMALAR_DATE] \ n); while ((line = ins.readLine())!= null) { writer.println(line); writer.println(sb.toString()); System.out.println(line); } } writer.close(); 字符串 inputFile = D:\ \fold\\myfile.txt; String fle = inputFile; BufferedReader br = new BufferedReader( new FileReader(inputFile)); String line = null; StringBuilder sb = new StringBuilder(); int count = 1; { while ((line = br.readLine())!= null){ if (line.startsWith( [)){ if (sb.length()!= 0){文件file1 = new 文件(第+行+ 。txt); PrintWriter writer1 = new PrintWriter(file1, UTF-8); writer1.println(line); writer1.println(sb.toString()); writer1.close(); sb.delete( 0 ,sb.length()); count ++; } 继续; } sb.append(line); } } } }

解决方案

我不喜欢不懂Java但是你应该检查这些行:

String p = fold; 文件目录=新文件(p); File [] files = dir.listFiles(); for (文件f:文件) if (f.isFile() )

根据你的评论,execption被抛到最后一行:ryy.main(tryy.java:15) 传递的路径fold看起来很可疑,我认为 dir 不会初始化为现有目录。那么你的文件变量将是 NULL :

引用 docs.oracle/javase /7/docs/api/java/io/File.html#listFiles%28%29 [ ^ ]:

public File [] listFiles() 返回一个抽象路径名数组,表示此抽象路径名表示的目录中的文件。 如果此抽象路径名不表示目录,然后此方法返回null。

在以下中循环 f 也将变为 NULL ,下一个命令 f.isFile()(第15行)将抛出异常

import java.io.*; import java.io.FileReader; import java.io.BufferedReader; import java.io.PrintWriter; public class tryy { public static void main(String args[])throws IOException { File file=new File("D:\\fold\\myfile.txt"); PrintWriter writer= new PrintWriter(file, "UTF-8"); String p="fold"; File dir=new File(p); File[] files=dir.listFiles(); for(File f : files) if(f.isFile()) { StringBuilder sb=new StringBuilder(); BufferedReader ins=null; ins=new BufferedReader(new FileReader(f)); String line; writer.print("["); writer.print(f.getName()); writer.println("_DINAMALAR_DATE]\n"); while((line=ins.readLine())!=null) { writer.println(line); writer.println(sb.toString()); System.out.println(line); } } writer.close(); String inputFile="D:\\fold\\myfile.txt"; String fle=inputFile; BufferedReader br = new BufferedReader(new FileReader(inputFile)); String line=null; StringBuilder sb = new StringBuilder(); int count=1; { while((line = br.readLine())!= null){ if(line.startsWith("[")){ if(sb.length()!=0){ File file1= new File(line+".txt"); PrintWriter writer1 = new PrintWriter(file1, "UTF-8"); writer1.println(line); writer1.println(sb.toString()); writer1.close(); sb.delete(0, sb.length()); count++; } continue; } sb.append(line); } } } }

解决方案

I don't know Java but you should inspect these lines:

String p="fold"; File dir=new File(p); File[] files=dir.listFiles(); for(File f : files) if(f.isFile())

According to your comment, the execption is thrown in the last line: ryy.main(tryy.java:15) The passed path "fold" looks suspect and I assume that dir will not be initialised to an existing directory. Then your files variable will be NULL:

Quote docs.oracle/javase/7/docs/api/java/io/File.html#listFiles%28%29[^]:

public File[] listFiles() Returns an array of abstract pathnames denoting the files in the directory denoted by this abstract pathname. If this abstract pathname does not denote a directory, then this method returns null.

In the following for loop f will become NULL too and the next command f.isFile() (in line 15) will throw the exception.

更多推荐

在现有文件中读写

本文发布于:2023-10-04 19:24:54,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1467205.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:文件

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!