Der Inhalt dieses Artikels dreht sich darum, wie man dieselbe Datei in Java liest und schreibt. (Code), es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird Ihnen hilfreich sein.
Die gleiche Datei kann nicht gleichzeitig gelesen und geschrieben werden, da beim Schreiben der Datei die Originaldatei überschrieben wird. Wenn dies der Fall ist, wird die Datei überschrieben und kann nicht gelesen werden Nächstes Mal.
Natürlich können Sie für zwei verschiedene Dateien gleichzeitig lesen und schreiben
Titel: 26 ungeordnete Buchstaben werden in einem Text gespeichert, und die Buchstaben müssen sein sortiert und dann in das Dateimedium neu geschrieben
Analyse: Der gelesene Dateiinhalt kann in einer bestimmten Form im Speicher abgelegt und dann separat geschrieben und bearbeitet werden.
1. Verwenden Sie eine Sammlung, um die gelesene Datei zu speichern
public static void fileRevise(File file) throws IOException { Reader reader=new BufferedReader(new FileReader(file)); //读取的数据用内存为中介,存取,如建立一个集合 int len; char[] charArray=new char[1024]; //集合用于储存读取的数据 List<Character> list=new ArrayList<>();//char 类型的集合,储存char[]读取的数据 while ((len=reader.read(charArray))!=-1){ for (int i = 0; i <len ; i++) { list.add(charArray[i]);//char->string } } char[] newArray=new char[list.size()]; for (int i = 0; i <list.size() ; i++) { newArray[i]=list.get(i); } Arrays.sort(newArray); Writer write=new BufferedWriter(new FileWriter(file)); write.write(newArray); //关闭流 reader.close(); write.close(); }
2. Verwenden Sie eine Zeichenfolge, um sie zu speichern. Die einzigartige readLine()-Methode in BufferReader kann jeweils eine Zeile lesen.
//用字符缓冲流的方法readline()读取,用字符串缓存,将字符串转为字符数组重新写入 public static void fileRevise2(File file) throws IOException { Reader reader=new BufferedReader(new FileReader(file)); StringBuilder sb=new StringBuilder(); String str; while ((str=((BufferedReader) reader).readLine())!=null){ sb.append(str); } System.out.print(sb); char[] cArray=sb.toString().toCharArray();// Arrays.sort(cArray); reader.close(); Writer write=new BufferedWriter(new FileWriter(file)); write.write(cArray); write.close(); }
Das obige ist der detaillierte Inhalt vonWie lese und schreibe ich dieselbe Datei in Java? (Code). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!