直接调用System.ArrCopy()函数就行啊,要自己写的话,好吧,完整代码写出来算了(输入一个自定义长度的数组a并复制到b中输出)
公司主营业务:网站制作、网站设计、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联推出献县免费做网站回馈大家。
import java.util.Scanner;
class TestArr
{
public static void main(String[] args)
{
Scanner p = new Scanner(System.in);
System.out.println("请输入数组长度");
int i = p.nextInt();
System.out.printf("请输入%d长度的数组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语言如何实现快速文件复制:
代码:
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通道读取数据写入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图形界面的组件,那么获取数据,赋值都比较简单.
但是看图片,是要写一个Excel的辅助功能, 这对java来说还是有点麻烦了.
最优建议:
Excel的功能. 那么最佳的建议,是使用vba 语言进行扩展.(微软出品,简单,方便,代码量极少) .
其次的建议:
C/C++ 键盘钩子 , 当读取到按键F9时 ,模拟键盘的复制粘贴等操作.
不推荐java , 但java也能勉强凑合解决这个问题:
因为java 很难获取系统底层的按键, Robot也很有局限, 比如窗口失去焦点的时候,读取不到F9按键. 所以java需要调用JNI c语言 比较繁琐. 比较简单的是调用JNA了,但代码量也不少.
当然了如果非要用java写,也可以,我手写了一个简单的JNA+Robot配合
效果图
fileinputstream获取文件流,outputstream输出文件流。关键一点是,记得添加权限,举SD卡读写权限。 些目录是root权限等等。
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("没有输入正确数目的参数,程序退出!");
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+" 个字节");
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();
}
}
}