導航:首頁 > 文件目錄 > java文件內容合並

java文件內容合並

發布時間:2023-08-24 20:59:38

1. 如何使用java把多個word文檔合並

用jacob類庫可以用java操作word文檔,可以轉換為自己需要的格式比如java中的String或者網頁HTML等,轉換的過程中是保留文檔格式的,多份文檔只需要自己拼接一下就行了。

2. Java如何高效合並多個文件

import static java.lang.System.out;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;
import java.util.Arrays;

public class test {
public static final int BUFSIZE = 1024 * 8;
public static void mergeFiles(String outFile, String[] files) {
FileChannel outChannel = null;
out.println("Merge " + Arrays.toString(files) + " into " + outFile);
try {
outChannel = new FileOutputStream(outFile).getChannel();
for(String f : files){
FileChannel fc = new FileInputStream(f).getChannel();
ByteBuffer bb = ByteBuffer.allocate(BUFSIZE);
while(fc.read(bb) != -1){
bb.flip();
outChannel.write(bb);
bb.clear();
}
fc.close();
}
out.println("Merged!! ");
} catch (IOException ioe) {
ioe.printStackTrace();
} finally {
try {if (outChannel != null) {outChannel.close();}} catch (IOException ignore) {}
}
}
public static void main(String[] args) {
mergeFiles("D:/output.txt", new String[]{"D:/in_1.txt", "D:/in_2.txt", "D:/in_3.txt"});
}
}

3. 如何使用java合並多個文件

使用java編程語言,對文件進行操作,合並多個文件,代碼如下:

importstaticjava.lang.System.out;
importjava.io.FileInputStream;
importjava.io.FileOutputStream;
importjava.io.IOException;
importjava.nio.ByteBuffer;
importjava.nio.channels.FileChannel;
importjava.util.Arrays;

publicclasstest{

publicstaticfinalintBUFSIZE=1024*8;

publicstaticvoidmergeFiles(StringoutFile,String[]files){
FileChanneloutChannel=null;
out.println("Merge"+Arrays.toString(files)+"into"+outFile);
try{
outChannel=newFileOutputStream(outFile).getChannel();
for(Stringf:files){
FileChannelfc=newFileInputStream(f).getChannel();
ByteBufferbb=ByteBuffer.allocate(BUFSIZE);
while(fc.read(bb)!=-1){
bb.flip();
outChannel.write(bb);
bb.clear();
}
fc.close();
}
out.println("Merged!!");
}catch(IOExceptionioe){
ioe.printStackTrace();
}finally{
try{if(outChannel!=null){outChannel.close();}}catch(IOExceptionignore){}
}
}
//下面代碼是將D盤的.txt2.txt3.txt文件合並成out.txt文件。
publicstaticvoidmain(String[]args){
mergeFiles("D:/output.txt",newString[]{"D:/1.txt","D:/2.txt","D:/3.txt"});
}
}

4. Java文件合並問題

ArrayList需要通過collections類的sort方法來進行排序

如果想自定義排序方式則需要有類來實現Comparator介面並重寫compare方法

具體代碼

importjava.io.File;
importjava.util.ArrayList;
importjava.util.Collections;
importjava.util.Comparator;

publicclassFileSort{
publicstaticvoidmain(String[]args){
ArrayList<File>lf=newArrayList<File>();
//加入很多的file對象到ArrayList
lf.add(newFile("c:\split.1"));
lf.add(newFile("c:\split.10"));
lf.add(newFile("c:\split.11"));
lf.add(newFile("c:\split.2"));
lf.add(newFile("c:\split.3"));
System.out.println("----------排序前-------------");
for(inti=0;i<lf.size();i++){
System.out.println(lf.get(i).getName());
}
//傳入參數lf和需要比較的元素類型File
Collections.sort(lf,newComparator<File>(){
@Override
publicintcompare(Fileo1,Fileo2){
//取得File對象的文件名,進行比較
Stringx=o1.getName();
Stringy=o2.getName();
//返回的數字說明
//返回數字大於0表示前一個數據比後一個數據大
//返回數字等於0表示相等,
//返回數字小於0表示第一個數據小於第二個數據
if(x.length()<y.length()){
return-1;
}
//調用String自帶的比較方法,
returnx.compareTo(y);
}
});

System.out.println("----------排序後-------------");
for(inti=0;i<lf.size();i++){
System.out.println(lf.get(i).getName());
}
}
}

輸出

----------排序前-------------
split.1
split.10
split.11
split.2
split.3
----------排序後-------------
split.1
split.2
split.3
split.10
split.11

5. java合並兩個txt文件並生成新txt

importjava.io.File;
importjava.io.FileNotFoundException;
importjava.io.PrintStream;
importjava.util.Arrays;
importjava.util.Collections;
importjava.util.LinkedList;
importjava.util.Scanner;

publicclassTest
{
publicstaticfinalStringLINE=System.getProperty("line.separator");

publicstaticint[]readfile(Scannerinput)
{
int[]a=newint[0];
while(input.hasNextLine())
{
Stringline=input.nextLine().trim();
int[]dest=newint[a.length+1];
System.array(a,0,dest,0,a.length);
dest[dest.length-1]=Integer.parseInt(line);
a=dest;
}
input.close();
returna;
}

publicstaticvoidwritefile(PrintStreamoutput,int[]a)
{
output.append(Arrays.toString(a).replaceAll("[\[\]\s]","").replaceAll(",",LINE));
output.flush();
output.close();
}

publicstaticint[]merge(int[]a,int[]b)
{
int[]dest=newint[a.length+b.length];
System.array(a,0,dest,0,a.length);
System.array(b,0,dest,a.length,b.length);
returndest;
}
}

classTest1
{
publicstaticvoidmain(String[]args)
{
if(args.length!=3)
{
System.err.println("輸入的參數個數不是3個");
return;
}
try
{
Scannerinput=newScanner(newFile(args[0]));
int[]a=Test.readfile(input);
input=newScanner(newFile(args[1]));
int[]b=Test.readfile(input);
int[]dest=Test.merge(a,b);
try
{
PrintStreamoutput=newPrintStream(args[2]);
Test.writefile(output,dest);
}
catch(FileNotFoundExceptione)
{
e.printStackTrace();
}
}
catch(FileNotFoundExceptione)
{
e.printStackTrace();
}
}
}

classTest2
{
publicstaticvoidmain(String[]args)
{
if(args.length!=1)
{
System.err.println("輸入的參數個數不是1個");
return;
}
try
{
Scannerinput=newScanner(newFile(args[0]));
int[]dest=Test.readfile(input);
Arrays.sort(dest);
PrintStreamoutput=newPrintStream(args[0]);
Test.writefile(output,dest);
}
catch(FileNotFoundExceptione)
{
e.printStackTrace();
}
}
}

<Test3>
{
inti;

publicTest3(inti)
{
this.i=i;
}

@Override
publicintcompareTo(Test3o)
{
if(o.i>i)
{
return-1;
}
elseif(o.i<i)
{
return1;
}
else
{
return0;
}
}

@Override
publicStringtoString()
{
returnString.format("%s",i);
}

publicstaticvoidmain(String[]args)
{
if(args.length!=3)
{
System.err.println("輸入的參數個數不是3個");
return;
}
LinkedList<Test3>list=newLinkedList<Test3>();
try
{
Scannerinput1=newScanner(newFile(args[0]));
Scannerinput2=newScanner(newFile(args[1]));
while(true)
{
try
{
inta=Integer.parseInt(input1.nextLine().trim());
intb=Integer.parseInt(input2.nextLine().trim());
Test3ta=newTest3(a);
Test3tb=newTest3(b);
list.add(ta);
list.add(tb);
}
catch(Exceptione)
{
break;
}
}
input1.close();
input2.close();
Collections.sort(list);
PrintStreamoutput=newPrintStream(args[2]);
output.append(list.toString().replaceAll("[\[\]\s]","").replaceAll(",",Test.LINE));
output.flush();
output.close();
}
catch(FileNotFoundExceptione)
{
e.printStackTrace();
}
}
}

6. 在java中怎樣實現文件內容合並

FileWriter類的構造方法,就有一個參數是直接追加到文件末尾寫入的
------------------------
FileWriter
public FileWriter(File file,
boolean append)
throws IOException根據給定的 File 對象回構造答一個 FileWriter 對象。如果第二個參數為 true,則將位元組寫入文件末尾處,而不是寫入文件開始處。

參數:
file - 要寫入數據的 File 對象
append - 如果為 true,則將位元組寫入文件末尾處,而不是寫入文件開始處
拋出:
IOException - 如果該文件存在,但它是一個目錄,而不是一個常規文件;或者該文件不存在,但無法創建它;抑或因為其他某些原因而無法打開它
從以下版本開始:
1.4

閱讀全文

與java文件內容合並相關的資料

熱點內容
如何編輯歌曲文件格式 瀏覽:638
cf無限領取cdk工具 瀏覽:350
如何讓手機文件保存到電腦上 瀏覽:459
sa資料庫默認密碼是多少 瀏覽:191
電腦正在查找文件 瀏覽:541
一個文件盒省內寄順豐多少錢 瀏覽:41
誅仙62坐騎怎麼升級到63 瀏覽:926
linux以日期查看日誌記錄 瀏覽:446
工業大數據是什麼東西 瀏覽:881
魅族note3怎麼重置網路 瀏覽:510
c語言程序設計模 瀏覽:92
兒童怎麼做可編程機 瀏覽:603
數據計算屬於什麼統計學 瀏覽:921
07word怎麼去掉標記 瀏覽:979
qq緩存的數據是什麼 瀏覽:348
LED主Kv文件多少兆 瀏覽:856
蘋果edge怎麼刪除下載文件 瀏覽:471
sas邏輯回歸代碼 瀏覽:572
用於keil下的stc器件資料庫 瀏覽:400
新聞網站後台如何操作前台 瀏覽:539

友情鏈接