直接調(diào)用System.ArrCopy()函數(shù)就行啊,要自己寫的話,好吧,完整代碼寫出來算了(輸入一個自定義長度的數(shù)組a并復制到b中輸出)
公司主營業(yè)務:網(wǎng)站制作、網(wǎng)站設計、移動網(wǎng)站開發(fā)等業(yè)務。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)推出獻縣免費做網(wǎng)站回饋大家。
import java.util.Scanner;
class TestArr
{
public static void main(String[] args)
{
Scanner p = new Scanner(System.in);
System.out.println("請輸入數(shù)組長度");
int i = p.nextInt();
System.out.printf("請輸入%d長度的數(shù)組a",i);
String[] a = new String[i];
String[] b = new String[i];
for(i=0;ia.length;i++)
a[i]=p.next();
copy(a,b);
for(i=0;ia.length;i++)
System.out.print(b[i]+" ");
}
private static void copy(String[] m,String[] n)
{
for(int i=0;im.length;i++)
{
n[i] = m[i];
}
}
}
此處改為如下:
byte []tem=new byte[513];
int len;
while((len=readF.read(tem))!=-1){ //文件復制操作
writeF.write(tem,0,len);
}
readF.close();
writeF.close();
使用Java語言如何實現(xiàn)快速文件復制:
代碼:
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.channels.FileChannel;
public class Test {
public static void main(String[] args){
long start = System.currentTimeMillis();
FileInputStream fileInputStream = null;
FileOutputStream fileOutputStream = null;
FileChannel inFileChannel = null;
FileChannel outFileChannel = null;
try {
fileInputStream = new FileInputStream(new File("C:\\from\\不是鬧著玩的.flv"));
fileOutputStream = new FileOutputStream(new File("C:\\to\\不是鬧著玩的.flv"));
inFileChannel = fileInputStream.getChannel();
outFileChannel = fileOutputStream.getChannel();
inFileChannel.transferTo(0, inFileChannel.size(), outFileChannel);//連接兩個通道,從in通道讀取數(shù)據(jù)寫入out通道。
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if(fileInputStream != null){
fileInputStream.close();
}
if(inFileChannel != null){
inFileChannel.close();
}
if(fileOutputStream != null){
fileOutputStream.close();
}
if(outFileChannel != null){
outFileChannel.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
long end = System.currentTimeMillis();
System.out.println("視頻文件從“from”文件夾復制到“to”文件需要" + (end - start) + "毫秒。");
}
}
如果是JTable.等java圖形界面的組件,那么獲取數(shù)據(jù),賦值都比較簡單.
但是看圖片,是要寫一個Excel的輔助功能, 這對java來說還是有點麻煩了.
最優(yōu)建議:
Excel的功能. 那么最佳的建議,是使用vba 語言進行擴展.(微軟出品,簡單,方便,代碼量極少) .
其次的建議:
C/C++ 鍵盤鉤子 , 當讀取到按鍵F9時 ,模擬鍵盤的復制粘貼等操作.
不推薦java , 但java也能勉強湊合解決這個問題:
因為java 很難獲取系統(tǒng)底層的按鍵, Robot也很有局限, 比如窗口失去焦點的時候,讀取不到F9按鍵. ? 所以java需要調(diào)用JNI c語言 比較繁瑣. 比較簡單的是調(diào)用JNA了,但代碼量也不少.
當然了如果非要用java寫,也可以,我手寫了一個簡單的JNA+Robot配合
效果圖
fileinputstream獲取文件流,outputstream輸出文件流。關(guān)鍵一點是,記得添加權(quán)限,舉SD卡讀寫權(quán)限。 些目錄是root權(quán)限等等。
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class Copy {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
if(args.length!=2){
System.out.print("沒有輸入正確數(shù)目的參數(shù),程序退出!");
System.exit(0);
}
File fileS = new File("./"+args[0]);
File fileD = new File("./"+args[1]);
if(fileD.exists())System.out.println("目標文件 "+args[1]+" 已存在!");
byte[] temp = new byte[50];
int totalSize = 0;
try {
FileInputStream fr = new FileInputStream(fileS);
FileOutputStream fo = new FileOutputStream(fileD);
int length = 0;
while((length = fr.read(temp, 0, temp.length)) != -1){
totalSize += length;
fo.write(temp, 0, length);
}
System.out.println("文件 "+args[0]+" 有 "+totalSize+" 個字節(jié)");
System.out.println("復制完成!");
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("源文件 "+args[0]+" 不存在!");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}