Heim > Java > javaLernprogramm > Detaillierte Einführung in die Java-Implementierung des Lesens, Schreibens und Löschens von Dateiverzeichnissen

Detaillierte Einführung in die Java-Implementierung des Lesens, Schreibens und Löschens von Dateiverzeichnissen

黄舟
Freigeben: 2017-09-15 10:07:03
Original
1509 Leute haben es durchsucht

In diesem Artikel wird hauptsächlich der detaillierte Implementierungscode für Lese-, Schreib- und Löschvorgänge in Java-Dateien vorgestellt.

Erhalten Sie die vom Konsolenbenutzer eingegebenen Informationen.


public String getInputMessage() throws IOException...{
         System.out.println("请输入您的命令∶");
         byte buffer[]=new byte[1024];
         int count=System.in.read(buffer);
         char[] ch=new char[count-2];//最后两位为结束符,删去不要
         for(int i=0;i<count-2;i++)
             ch[i]=(char)buffer[i];
         String str=new String(ch);
         return str;
     }
Nach dem Login kopieren

kann die vom Benutzer eingegebenen Informationen zurückgeben. Der Nachteil besteht darin, dass chinesische Eingaben nicht unterstützt werden und weitere Verbesserungen erforderlich sind.

2. Dateien kopieren

1. Dateien in Form eines Dateistreams kopieren


 public void copyFile(String src,String dest) throws IOException...{
         FileInputStream in=new FileInputStream(src);
         File file=new File(dest);
         if(!file.exists())
             file.createNewFile();
         FileOutputStream out=new FileOutputStream(file);
         int c;
         byte buffer[]=new byte[1024];
         while((c=in.read(buffer))!=-1)...{
             for(int i=0;i<c;i++)
                 out.write(buffer[i]);        
         }
         in.close();
         out.close();
     }
Nach dem Login kopieren

Die Methode wurde getestet, unterstützt die chinesische Verarbeitung und kann mehrere Typen wie TXT, XML, JPG, Doc und andere Formate kopieren

3. Schreiben Sie Dateien

1 .Verwenden Sie PrintStream, um Dateien zu schreiben


public void PrintStreamDemo()...{
         try ...{
             FileOutputStream out=new FileOutputStream("D:/test.txt");
             PrintStream p=new PrintStream(out);
             for(int i=0;i<10;i++)
                 p.println("This is "+i+" line");
         } catch (FileNotFoundException e) ...{
             e.printStackTrace();
         }
     }
Nach dem Login kopieren

2. Verwenden Sie StringBuffer, um Dateien zu schreiben


public void StringBufferDemo() throws IOException......{
         File file=new File("/root/sms.log");
         if(!file.exists())
             file.createNewFile();
         FileOutputStream out=new FileOutputStream(file,true);        
         for(int i=0;i<10000;i++)......{
             StringBuffer sb=new StringBuffer();
             sb.append("这是第"+i+"行:前面介绍的各种方法都不关用,为什么总是奇怪的问题 ");
             out.write(sb.toString().getBytes("utf-8"));
         }        
         out.close();
     }
Nach dem Login kopieren

Diese Methode kann festlegen, welche Codierung verwendet werden soll, um chinesische Probleme effektiv zu lösen.

4. Dateiumbenennung


public void renameFile(String path,String oldname,String newname)...{
         if(!oldname.equals(newname))...{//新的文件名和以前文件名不同时,才有必要进行重命名
             File oldfile=new File(path+"/"+oldname);
             File newfile=new File(path+"/"+newname);
             if(newfile.exists())//若在该目录下已经有一个文件和新文件名相同,则不允许重命名
                 System.out.println(newname+"已经存在!");
             else...{
                 oldfile.renameTo(newfile);
             }
         }         
     }
Nach dem Login kopieren

5. Dateiverzeichnis übertragen

Das Übertragen eines Dateiverzeichnisses ist nicht dasselbe wie das Kopieren einer Datei. Das Kopieren einer Datei bedeutet, dass die Datei nach dem Kopieren in beiden Verzeichnissen vorhanden ist, während das Übertragen eines Dateiverzeichnisses bedeutet, dass die Datei nach der Übertragung nur im neuen Verzeichnis vorhanden ist.


public void changeDirectory(String filename,String oldpath,String newpath,boolean cover)...{
         if(!oldpath.equals(newpath))...{
             File oldfile=new File(oldpath+"/"+filename);
             File newfile=new File(newpath+"/"+filename);
             if(newfile.exists())...{//若在待转移目录下,已经存在待转移文件
                 if(cover)//覆盖
                     oldfile.renameTo(newfile);
                 else
                     System.out.println("在新目录下已经存在:"+filename);
             }
             else...{
                 oldfile.renameTo(newfile);
             }
         }       
     }
Nach dem Login kopieren

6. Dateien lesen

1. Verwenden Sie FileInputStream, um Dateien zu lesen


public String FileInputStreamDemo(String path) throws IOException...{
         File file=new File(path);
         if(!file.exists()||file.isDirectory())
             throw new FileNotFoundException();
         FileInputStream fis=new FileInputStream(file);
         byte[] buf = new byte[1024];
         StringBuffer sb=new StringBuffer();
         while((fis.read(buf))!=-1)...{
             sb.append(new String(buf));    
             buf=new byte[1024];//重新生成,避免和上次读取的数据重复
         }
         return sb.toString();
     }
Nach dem Login kopieren

2. Verwenden Sie BufferedReader zum Lesen
Bei E/A-Vorgängen ist es effizienter, BufferedReader und BufferedWriter zu verwenden


public String BufferedReaderDemo(String path) throws IOException...{
         File file=new File(path);
         if(!file.exists()||file.isDirectory())
             throw new FileNotFoundException();
         BufferedReader br=new BufferedReader(new FileReader(file));
         String temp=null;
         StringBuffer sb=new StringBuffer();
         temp=br.readLine();
         while(temp!=null)...{
             sb.append(temp+" ");
             temp=br.readLine();
         }
         return sb.toString();
     }
Nach dem Login kopieren

3 .Verwenden Sie dom4j, um XML-Dateien zu lesen


public Document readXml(String path) throws DocumentException, IOException...{
         File file=new File(path);
         BufferedReader bufferedreader = new BufferedReader(new FileReader(file));
         SAXReader saxreader = new SAXReader();
         Document document = (Document)saxreader.read(bufferedreader);
         bufferedreader.close();
         return document;
     }
Nach dem Login kopieren

7. Dateien (Ordner) erstellen

1. Ordner erstellen


public void createDir(String path)...{
         File dir=new File(path);
         if(!dir.exists())
             dir.mkdir();
     }
Nach dem Login kopieren

2. Neue Dateien erstellen


public void createFile(String path,String filename) throws IOException...{
         File file=new File(path+"/"+filename);
         if(!file.exists())
             file.createNewFile();
     }
Nach dem Login kopieren

8. Dateien löschen (Verzeichnis)

1. Dateien löschen


public void delFile(String path,String filename)...{
         File file=new File(path+"/"+filename);
         if(file.exists()&&file.isFile())
             file.delete();
     }
Nach dem Login kopieren

2. Verzeichnisse löschen

Verwenden Sie beim Löschen delete() In einem Verzeichnis müssen Sie sicherstellen, dass sich keine Dateien oder Unterverzeichnisse im Verzeichnis befinden. Andernfalls schlägt das Löschen fehl. Wenn wir in praktischen Anwendungen ein Verzeichnis löschen möchten, müssen wir daher alle Unterverzeichnisse und Dateien im Verzeichnis mithilfe der Rekursion löschen , und löschen Sie dann das Verzeichnis.


 public void delDir(String path)...{
         File dir=new File(path);
         if(dir.exists())...{
             File[] tmp=dir.listFiles();
             for(int i=0;i<tmp.length;i++)...{
                 if(tmp[i].isDirectory())...{
                     delDir(path+"/"+tmp[i].getName());
                 }
                 else...{
                     tmp[i].delete();
                 }
             }
             dir.delete();
         }
     }
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in die Java-Implementierung des Lesens, Schreibens und Löschens von Dateiverzeichnissen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage