文本分類java代碼 java處理文本文件

如何用JAVA實現(xiàn)根據(jù)文件后綴名分類文件,并且將文件復(fù)制到不同的文件夾

處理的代碼邏輯如下:

創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司一直秉承“誠信做人,踏實做事”的原則,不欺瞞客戶,是我們最起碼的底線! 以服務(wù)為基礎(chǔ),以質(zhì)量求生存,以技術(shù)求發(fā)展,成交一個客戶多一個朋友!專注中小微企業(yè)官網(wǎng)定制,成都做網(wǎng)站、網(wǎng)站建設(shè),塑造企業(yè)網(wǎng)絡(luò)形象打造互聯(lián)網(wǎng)企業(yè)效應(yīng)。

public?static?void?main(String?args[])?{

String?saveToFileDir?=?"F:\\整理后的文件存放目錄";

File?file?=?new?File("F:\\所需整理的文件目錄");

processFileFenLei(saveToFileDir,?file);

}

private?static?void?processFileFenLei(String?saveToFileDir,?File?file)?{

if?(file.getName().startsWith("."))?{

return;

}

System.out.println("當(dāng)前處理位置==="?+?file.getAbsolutePath());

if?(file.isFile())?{

processCopyFile(saveToFileDir,?file);

}?else?{

File[]?subFiles?=?file.listFiles();

for?(File?subFile?:?subFiles)?{

processFileFenLei(saveToFileDir,?subFile);

}

}

}

private?static?void?processCopyFile(String?saveToFileDir,?File?file)?{

String?extFileName?=?FileCreateUtil.getFileExtension(file);

String?wholeDir?=?saveToFileDir?+?"\\"?+?extFileName;

File?fileDir?=?new?File(wholeDir);

if?(!fileDir.exists())?{

fileDir.mkdirs();

}

File?saveToFile?=?new?File(wholeDir?+?"\\"?+?file.getName());

FileCreateUtil.saveFileToFile(file,?saveToFile);

}

以上代碼中所用到的文件操作工具類:

import?java.io.BufferedInputStream;

import?java.io.BufferedOutputStream;

import?java.io.BufferedReader;

import?java.io.BufferedWriter;

import?java.io.File;

import?java.io.FileInputStream;

import?java.io.FileNotFoundException;

import?java.io.FileOutputStream;

import?java.io.FileReader;

import?java.io.FileWriter;

import?java.io.IOException;

import?java.io.InputStream;

import?java.io.InputStreamReader;

import?java.sql.Blob;

import?java.sql.SQLException;

/**

*?@作者?王建明

*?@創(chuàng)建日期?Feb?4,?2010

*?@創(chuàng)建時間?9:56:15?AM

*?@版本號?V?1.0

*/

public?class?FileCreateUtil?{

private?static?final?String?CONTENT_TYPE_IMAGE?=?"image/jpeg";

/**

?*?@說明?將二進制字節(jié)流保存為文件

?*?@param?byteArry二進制流

?*?@param?file要保存的文件

?*?@throws?SQLException

?*?@throws?IOException

?*/

public?static?void?saveByteArry2File(byte[]?byteArry,?File?file)

throws?SQLException,?IOException?{

BufferedOutputStream?bos?=?new?BufferedOutputStream(

new?FileOutputStream(file));

bos.write(byteArry);

bos.close();

}

/**

?*?@說明?將文件轉(zhuǎn)換為二進制字節(jié)流

?*?@param?file要轉(zhuǎn)換的文件

?*?@return

?*?@throws?SQLException

?*?@throws?IOException

?*/

public?static?byte[]?changeFile2Bytes(File?file)?throws?SQLException,

IOException?{

long?len?=?file.length();

byte[]?bytes?=?new?byte[(int)?len];

FileInputStream?inputStream?=?new?FileInputStream(file);

BufferedInputStream?bufferedInputStream?=?new?BufferedInputStream(

inputStream);

int?r?=?bufferedInputStream.read(bytes);

if?(r?!=?len)?{

throw?new?IOException("File?read?error");

}

inputStream.close();

bufferedInputStream.close();

return?bytes;

}

/**

?*?@說明?將Blob類類型的文件轉(zhuǎn)換成二進制字節(jié)流

?*?@param?pic

?*?@return

?*?@throws?SQLException

?*?@throws?IOException

?*/

public?static?byte[]?changeBlob2Bytes(Blob?pic)?throws?SQLException,

IOException?{

byte[]?bytes?=?pic.getBytes(1,?(int)?pic.length());

return?bytes;

}

/**

?*?@說明?將Blob類類型的數(shù)據(jù)保存為本地文件

?*?@param?blob

?*?@param?file

?*?@throws?SQLException

?*?@throws?IOException

?*/

public?static?void?saveBlob2File(Blob?blob,?File?file)?throws?SQLException,

IOException?{

InputStream?is?=?blob.getBinaryStream();

BufferedOutputStream?bos?=?new?BufferedOutputStream(

new?FileOutputStream(file));

int?b?=?-1;

while?((b?=?is.read())?!=?-1)?{

bos.write(b);

}

bos.close();

is.close();

}

/**

?*?@說明?將一個文件拷貝到另一個文件中

?*?@param?oldFile源文件

?*?@param?newFile目標(biāo)文件

?*/

public?static?void?saveFileToFile(File?oldFile,?File?newFile)?{

FileInputStream?fis?=?null;

FileOutputStream?fos?=?null;

try?{

fis?=?new?FileInputStream(oldFile);?//?建立文件輸入流

fos?=?new?FileOutputStream(newFile);

int?r;

while?((r?=?fis.read())?!=?-1)?{

fos.write((byte)?r);

}

}?catch?(FileNotFoundException?ex)?{

System.out.println("Source?File?not?found");

}?catch?(IOException?ex)?{

System.out.println(ex.getMessage());

}?finally?{

try?{

if?(fis?!=?null)

fis.close();

if?(fos?!=?null)

fos.close();

}?catch?(IOException?ex)?{

System.out.println(ex);

}

}

}

/**

?*?@說明?獲取文本形式文件的內(nèi)容

?*?@param?file要讀取的文件

?*?@return

?*/

public?static?String?getTxtFileContent(File?file)?{

BufferedReader?br?=?null;

try?{

br?=?new?BufferedReader(new?FileReader(file));

String?line?=?null;

StringBuilder?sb?=?new?StringBuilder((int)?file.length());

while?((line?=?br.readLine())?!=?null)?{

sb.append(line);

sb.append("\n");

}

return?sb.toString();

}?catch?(FileNotFoundException?e)?{

e.printStackTrace();

System.out.println("File?not?found");

}?catch?(IOException?e)?{

e.printStackTrace();

System.out.println("Read?file?error");

}?finally?{

try?{

if?(br?!=?null)

br.close();

}?catch?(IOException?e)?{

//?TODO?Auto-generated?catch?block

e.printStackTrace();

}

}

return?"";

}

/**

?*?@說明?把一個文件轉(zhuǎn)化為字節(jié)

?*?@param?file

?*?@return?byte[]

?*?@throws?Exception

?*/

public?static?byte[]?getByteFromFile(File?file)?throws?Exception?{

byte[]?bytes?=?null;

if?(file?!=?null)?{

InputStream?is?=?new?FileInputStream(file);

int?length?=?(int)?file.length();

if?(length??Integer.MAX_VALUE)?//?當(dāng)文件的長度超過了int的最大值

{

System.out.println("this?file?is?max?");

return?null;

}

bytes?=?new?byte[length];

int?offset?=?0;

int?numRead?=?0;

while?(offset??bytes.length

?(numRead?=?is.read(bytes,?offset,?bytes.length?-?offset))?=?0)?{

offset?+=?numRead;

}

//?如果得到的字節(jié)長度和file實際的長度不一致就可能出錯了

if?(offset??bytes.length)?{

System.out.println("file?length?is?error");

return?null;

}

is.close();

}

return?bytes;

}

/**

?*?@說明?將指定文本內(nèi)容寫入到指定文件中(原文件將被覆蓋!)

?*?@param?content要寫入的內(nèi)容

?*?@param?file寫到的文件

?*/

public?static?void?writeContentIntoFile(String?content,?File?file)?{

try?{

if?(file.exists())?{

file.delete();

}

file.createNewFile();

FileWriter?fw?=?new?FileWriter(file,?true);

BufferedWriter?bw?=?new?BufferedWriter(fw);

bw.write(content);

bw.close();

fw.close();

}?catch?(IOException?e)?{

System.out.println("Write?file?error");

e.printStackTrace();

}

}

/**

?*?@param?file

?*?@param?encode

?*?@return

?*?@throws?Exception

?*?????????????T:2012-03-01?11:12:51?A:王建明?X:問題ID——?R:備注——讀取文件時設(shè)置txt文件的編碼方式

?*/

public?static?String?readFileContent(File?file,?String?encode)

throws?Exception?{

StringBuilder?sb?=?new?StringBuilder();

if?(file.isFile()??file.exists())?{

InputStreamReader?insReader?=?new?InputStreamReader(

new?FileInputStream(file),?encode);

BufferedReader?bufReader?=?new?BufferedReader(insReader);

String?line?=?new?String();

while?((line?=?bufReader.readLine())?!=?null)?{

//?System.out.println(line);

sb.append(line?+?"\n");

}

bufReader.close();

insReader.close();

}

return?sb.toString();

}

/**

?*?@param?file

?*?@return?T:2012-03-01?11:12:25?A:王建明?X:問題ID——?R:備注——獲取txt文件的編碼格式

?*/

public?static?String?getTxtEncode(File?file)?{

String?code?=?"";

try?{

InputStream?inputStream?=?new?FileInputStream(file);

byte[]?head?=?new?byte[3];

inputStream.read(head);

code?=?"gb2312";

if?(head[0]?==?-1??head[1]?==?-2)

code?=?"UTF-16";

if?(head[0]?==?-2??head[1]?==?-1)

code?=?"Unicode";

if?((head[0]?==?-17??head[1]?==?-69??head[2]?==?-65))

code?=?"UTF-8";

}?catch?(FileNotFoundException?e)?{

e.printStackTrace();

}?catch?(IOException?e)?{

e.printStackTrace();

}

return?code;

}

/**

?*?@說明?獲取文件后綴名

?*?@param?file

?*?@return

?*/

public?static?String?getFileExtension(File?file)?{

if?(file?!=?null??file.isFile())?{

String?filename?=?file.getName();

int?i?=?filename.lastIndexOf(".");

if?(i??0??i??filename.length()?-?1)?{

return?filename.substring(i?+?1).toLowerCase();

}

}

return?"";

}

/**

?*?@說明?刪除文件或文件夾

?*?@param?file

?*?@作者?王建明

?*?@創(chuàng)建日期?2012-5-26

?*?@創(chuàng)建時間?上午09:36:58

?*?@描述?——

?*/

public?static?void?deleteFile(File?file)?{

if?(file.exists())?{?//?判斷文件是否存在

if?(file.isFile())?{?//?判斷是否是文件

file.delete();?//?delete()方法?你應(yīng)該知道?是刪除的意思;

}?else?if?(file.isDirectory())?{?//?否則如果它是一個目錄

File?files[]?=?file.listFiles();?//?聲明目錄下所有的文件?files[];

for?(int?i?=?0;?i??files.length;?i++)?{?//?遍歷目錄下所有的文件

deleteFile(files[i]);?//?把每個文件?用這個方法進行迭代

}

}

file.delete();

}?else?{

System.out.println("所刪除的文件不存在!"?+?'\n');

}

}

/**

?*?@說明?創(chuàng)建文件夾,如果不存在的話

?*?@param?dirPath

?*?@作者?王建明

?*?@創(chuàng)建日期?2012-5-26

?*?@創(chuàng)建時間?上午09:49:12

?*?@描述?——

?*/

public?static?void?createMirs(String?dirPath)?{

File?dirPathFile?=?new?File(dirPath);

if?(!dirPathFile.exists())

dirPathFile.mkdirs();

}

}

java讀取txt文件并且進行分類

public static void main(String[] args) throws Exception{

File file=new File("D:\\output.txt");

BufferedReader reader=new BufferedReader(new FileReader(file));

String r=null;

int one=0,two=0,three=0;

String [] temp=null;

while((r=reader.readLine())!=null)

{

if(r.contains("one"))

{

temp=r.split(":", r.length());

if(temp!=null)

{

if(!" ".equals(temp[1]))

{

one+=Integer.valueOf(temp[1]);

}

else{

one+=0;

}

}

}

else if(r.contains("two"))

{

temp=r.split(":", r.length());

if(temp!=null)

{

if(!" ".equals(temp[1]))

{

two+=Integer.valueOf(temp[1]);

}

else{

two+=0;

}

}

}

else if(r.contains("three"))

{

temp=r.split(":", r.length());

if(temp!=null)

{

if(!" ".equals(temp[1]))

{

three+=Integer.valueOf(temp[1]);

}

else{

three+=0;

}

}

}

}

System.out.println("One="+one+" ;Two="+two+" ;Three="+three);

}

自己測試一下:這是我的輸出結(jié)果

Console:

One=190 ;Two=0 ;Three=410

javascript和java有什么區(qū)別、java的分類!

二者的區(qū)別體現(xiàn)在:

首先,它們是兩個公司開發(fā)的不同的兩個產(chǎn)品,Java是SUN公司推出的新一代面向?qū)ο蟮某绦蛟O(shè)計語言,特別適合于Internet應(yīng)用程序開發(fā);而JavaScript是Netscape公司的產(chǎn)品,其目的是為了擴展Netscape Navigator功能,而開發(fā)的一種可以嵌入Web頁面中的基于對象和事件驅(qū)動的解釋性語言。

其次,JavaScript是基于對象的,而Java是面向?qū)ο蟮?,即Java是一種真正的面向?qū)ο蟮恼Z言,即使是開發(fā)簡單的程序,必須設(shè)計對象。JavaScript是種腳本語言,它可以用來制作與網(wǎng)絡(luò)無關(guān)的,與用戶交互作用的復(fù)雜軟件。它是一種基于對象和事件驅(qū)動的編程語言。因而它本身提供了非常豐富的內(nèi)部對象供設(shè)計人員使用。

第三,兩種語言在其瀏覽器中所執(zhí)行的方式不一樣。Java的源代碼在傳遞到客戶端執(zhí)行之前,必須經(jīng)過編譯,因而客戶端上必須具有相應(yīng)平臺上的仿真器或解釋器,它可以通過編譯器或解釋器實現(xiàn)獨立于某個特定的平臺編譯代碼的束縛。JavaScript是一種解釋性編程語言,其源代碼在發(fā)往客戶端執(zhí)行之前不需經(jīng)過編譯,而是將文本格式的字符代碼發(fā)送給客戶,由瀏覽器解釋執(zhí)行。

第四,兩種語言所采取的變量是不一樣的。Java采用強類型變量檢查,即所有變量在編譯之前必須作聲明。JavaScript中變量聲明,采用其弱類型。即變量在使用前不需作聲明,而是解釋器在運行時檢查其數(shù)據(jù)類型。

第五,代碼格式不一樣。Java是一種與HTML無關(guān)的格式,必須通過像HTML中引用外媒體那么進行裝載,其代碼以字節(jié)代碼的形式保存在獨立的文檔中。JavaScript的代碼是一種文本字符格式,可以直接嵌入HTML文檔中,并且可動態(tài)裝載。編寫HTML文檔就像編輯文本文件一樣方便。

第六,嵌入方式不一樣。在HTML文檔中,兩種編程語言的標(biāo)識不同,JavaScript使用 script.../script 來標(biāo)識,而Java使用applet ... /applet來標(biāo)識。

第七,靜態(tài)綁定和動態(tài)綁定。Java采用靜態(tài)聯(lián)編,即Java的對象引用必須在編譯時的進行,以使編譯器能夠?qū)崿F(xiàn)強類型檢查。

java如何將文本框內(nèi)容的string類型轉(zhuǎn)換為file類型

html

body

form?action="/example/html/form_action.asp"?method="get"

pFirst?name:?input?type="text"?name="fname"?//p

pLast?name:?input?type="file"?name="lname"?//p

input?type="submit"?value="Submit"?/

/form

p請單擊確認(rèn)按鈕,輸入會發(fā)送到服務(wù)器上名為?"form_action.asp"?的頁面。/p

/body

/html

請參考上面的代碼

上面是文本 - string

下面是文件 - file

名稱欄目:文本分類java代碼 java處理文本文件
網(wǎng)頁地址:http://muchs.cn/article38/ddccjsp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護、小程序開發(fā)商城網(wǎng)站、網(wǎng)站設(shè)計公司定制開發(fā)、服務(wù)器托管

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)