2020国产成人精品视频,性做久久久久久久久,亚洲国产成人久久综合一区,亚洲影院天堂中文av色

分享

java中文件操作大全

 N_once 2008-01-23
簡(jiǎn)介:一.獲得控制臺(tái)用戶輸入信息 /** *//**獲得控制臺(tái)用戶輸入的信息 * @return * @throws IOException */ public String getInputMessage() throws IOException...{ System.out.println ...
關(guān)鍵字:java中文件操作大全
一.獲得控制臺(tái)用戶輸入的信息
/**獲得控制臺(tái)用戶輸入的信息
     * 
@return
     * 
@throws IOException
     
*/

    
public String getInputMessage() throws IOException{
        System.out.println(
"請(qǐng)輸入您的命令∶");
        
byte buffer[]=new byte[1024];
        
int count=System.in.read(buffer);
        
char[] ch=new char[count-2];//最后兩位為結(jié)束符,刪去不要
        for(int i=0;i<count-2;i++)
            ch[i]
=(char)buffer[i];
        String str
=new String(ch);
        
return str;
    }

    可以返回用戶輸入的信息,不足之處在于不支持中文輸入,有待進(jìn)一步改進(jìn)。

    二.復(fù)制文件

    1.以文件流的方式復(fù)制文件

/**以文件流的方式復(fù)制文件
     * 
@param src 文件源目錄
     * 
@param dest 文件目的目錄
     * 
@throws IOException  
     
*/

    
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();
    }

    該方法經(jīng)過測(cè)試,支持中文處理,并且可以復(fù)制多種類型,比如txt,xml,jpg,doc等多種格式

    三.寫文件

    1.利用PrintStream寫文件

/**
     * 文件輸出示例
     
*/

    
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();
        }

    }

    2.利用StringBuffer寫文件

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+"行:前面介紹的各種方法都不關(guān)用,為什么總是奇怪的問題 ");
            out.write(sb.toString().getBytes(
"utf-8"));
        }
        
        out.close();
    }

    該方法可以設(shè)定使用何種編碼,有效解決中文問題。


簡(jiǎn)介: /** *//**文件重命名 * @param path 文件目錄 * @param oldname 原來的文件名 * @param newname 新文件名 */ public void renameFile(String path,String oldname,String newname).. ...
    /**文件重命名
     * 
@param path 文件目錄
     * 
@param oldname  原來的文件名
     * 
@param newname 新文件名
     
*/

    
public void renameFile(String path,String oldname,String newname){
        
if(!oldname.equals(newname)){//新的文件名和以前文件名不同時(shí),才有必要進(jìn)行重命名
            File oldfile=new File(path+"/"+oldname);
            File newfile
=new File(path+"/"+newname);
            
if(newfile.exists())//若在該目錄下已經(jīng)有一個(gè)文件和新文件名相同,則不允許重命名
                System.out.println(newname+"已經(jīng)存在!");
            
else{
                oldfile.renameTo(newfile);
            }
 
        }
         
    }
    五.轉(zhuǎn)移文件目錄

    轉(zhuǎn)移文件目錄不等同于復(fù)制文件,復(fù)制文件是復(fù)制后兩個(gè)目錄都存在該文件,而轉(zhuǎn)移文件目錄則是轉(zhuǎn)移后,只有新目錄中存在該文件。

    /**轉(zhuǎn)移文件目錄
     * 
@param filename 文件名
     * 
@param oldpath 舊目錄
     * 
@param newpath 新目錄
     * 
@param cover 若新目錄下存在和轉(zhuǎn)移文件具有相同文件名的文件時(shí),是否覆蓋新目錄下文件,cover=true將會(huì)覆蓋原文件,否則不操作
     
*/

    
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()){//若在待轉(zhuǎn)移目錄下,已經(jīng)存在待轉(zhuǎn)移文件
                if(cover)//覆蓋
                    oldfile.renameTo(newfile);
                
else
                    System.out.println(
"在新目錄下已經(jīng)存在:"+filename);
            }

            
else{
                oldfile.renameTo(newfile);
            }

        }
       
    }

    六.讀文件

    1.利用FileInputStream讀取文件

    /**讀文件
     * 
@param path
     * 
@return
     * 
@throws IOException
     
*/

    
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];//重新生成,避免和上次讀取的數(shù)據(jù)重復(fù)
        }

        
return sb.toString();
    }

 

2.利用BufferedReader讀取

    在IO操作,利用BufferedReader和BufferedWriter效率會(huì)更高一點(diǎn)

    /**讀文件
     * 
@param path
     * 
@return
     * 
@throws IOException
     
*/

    
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();
    }


 

 

    3.利用dom4j讀取xml文件

 

    /**從目錄中讀取xml文件
     * 
@param path 文件目錄
     * 
@return
     * 
@throws DocumentException
     * 
@throws IOException
     
*/

    
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;
    }

    七.創(chuàng)建文件(文件夾)

1.創(chuàng)建文件夾

 /**創(chuàng)建文件夾
     * 
@param path  目錄
     
*/

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


2.創(chuàng)建新文件

/**創(chuàng)建新文件
     * 
@param path 目錄
     * 
@param filename 文件名
     * 
@throws IOException
     
*/

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

    八.刪除文件(目錄)
1.刪除文件

    /**刪除文件
     * 
@param path 目錄
     * 
@param filename 文件名
     
*/

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


2.刪除目錄
要利用File類的delete()方法刪除目錄時(shí),必須保證該目錄下沒有文件或者子目錄,否則刪除失敗,因此在實(shí)際應(yīng)用中,我們要?jiǎng)h除目錄,必須利用遞歸刪除該目錄下的所有子目錄和文件,然后再刪除該目錄。

 /**遞歸刪除文件夾
     * 
@param path
     
*/

    
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();
        }

    }

 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多