
万物皆字卜腊节。
使穗弊汪用
BufferedInputStream[缓冲区输入流]
BufferedOutputStream[缓冲区输出流]
这两个流是内置了缓冲区流,也就是说内部有一个 字节数组
直接使用
FileInputStream 文件输入流
FileOutputStream 文件输出流
然后new一个byte[],用来储存移动字节
while(( b = xxx1.read()) != -1){
xxx2.write(b)
}
这样两种方法,实现文件的复制(先要定一个文件路径,不然程序找猜仔不到文件)
如果要复制文件夹,可以使用递归,里面夹杂文件复制。
——如果对你有帮助,请采纳,谢谢
基本 *** 作如下:你要补充的是:
1 动态输入内容
2 异常处理
import java.io.BufferedReader
import java.io.BufferedWriter
import java.io.IOException
import java.io.InputStream
import java.io.InputStreamReader
import java.io.OutputStream
import java.io.OutputStreamWriter
import java.util.LinkedList
public class Command {
private java.lang.Process p
private InputStream is
private OutputStream 陆行os
private BufferedWriter bw
private BufferedReader br
private ProcessBuilder pb
private InputStream stdErr
public Command() {
}
//获取Process的输入,输出流
public void setCmd(String cmd) {
try {
p = Runtime.getRuntime().exec(cmd)
os = p.getOutputStream()
is = p.getInputStream()
stdErr = p.getErrorStream()
} catch (IOException e) {
System.err.println(e.getMessage())
}
}
//向Process输出命令
public void writeCmd(String cmd) {
try {
bw = new BufferedWriter(new OutputStreamWriter(os))
bw.write(cmd)
bw.newLine()
bw.flush()
bw.close()
} catch (Exception e) {
e.printStackTrace()
}
}
//读出Process执行的结果
public String readCmd() {
StringBuffer sb = new StringBuffer()
br = new BufferedReader(new InputStreamReader(is))
String buffer = null
try {
while ((buffer = br.readLine()) != null) {
早液哗 sb.append(buffer + "\n")
}
System.out.println(p.waitFor())
} catch (Exception e) {
e.printStackTrace()
}
return sb.toString()
}
//将命令一股埋首脑塞入list中
public LinkedList<String> doCmd(LinkedList<String> lists) {
LinkedList<String> list = new LinkedList<String>()
for (String s : lists) {
writeCmd(s)
list.add(readCmd())
}
return list
}
public static void main(String[] args) {
Command cmd = new Command()
cmd.setCmd("cmd")
cmd.writeCmd("copy d:\\a.txt e:\\ ")
System.out.println(cmd.readCmd())
}
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)