JAVA中sysout干嘛用的_Sysout文件列表和从java目录中传输文件

我正在试图弄清楚如何获取服务器上的文件列表以及如何单独下载它们。任何人都可以指导我朝正确的方向发展吗?

我收到文件权限错误或(是目录错误),谢谢

更新:

错误是

Exception in thread "main" java.io.FileNotFoundException: /myClientFiles (Permission denied)

at java.io.FileOutputStream.open(Native Method)

at java.io.FileOutputStream.(FileOutputStream.java:213)

at java.io.FileOutputStream.(FileOutputStream.java:101)

at

xxxxxxpackegename.com.fr(Client.java:38)

Client.java

public class Client {

private static final int PORT = 2665;

private static String HOST = "localhost";

public static void main(String[] args) throws UnknownHostException, IOException {

int filesize = 5000000; //buffer size 5mb

int bytesRead;

int currentTotalNumberOfBytes = 0;

//connect to port on server - server waits for this after running socket.accept() in the Server class

Socket socket = new Socket(HOST, PORT);

byte[] byteArray = new byte[filesize]; //create a byte array of 5mb

InputStream inputStream = socket.getInputStream(); //channel to write to server

FileOutputStream fileOutStream = new FileOutputStream("/myClientFiles");

BufferedOutputStream bufferOutStream = new BufferedOutputStream(fileOutStream);

bytesRead = inputStream.read(byteArray, 0, byteArray.length);

currentTotalNumberOfBytes = bytesRead;

do { //read till the end and store total in bytesRead and add it to currentTotalNumberOfBytes

bytesRead = inputStream.read(byteArray, currentTotalNumberOfBytes, (byteArray.length-currentTotalNumberOfBytes));

if(bytesRead >= 0) currentTotalNumberOfBytes += bytesRead;

}while(bytesRead > -1); // when bytesRead == -1, there's no more data left and we exit the loop

bufferOutStream.write(byteArray, 0 , currentTotalNumberOfBytes); //write the bytes to the file

bufferOutStream.flush();

bufferOutStream.close();

socket.close();

}

}

Server.java

ServerSocket serverSocket = new ServerSocket(2665);

Socket socket = serverSocket.accept();

System.out.println("Connected to: " + socket);

//File transferFile = new File("Allcrisis.doc"); //get local file

File[] transferFiles = new File("/myServerFiles").listFiles(); //array to store pathnames of files in myServerFiles folder

byte[] bytearray = new byte[(int)transferFiles.length];

for(File file: transferFiles){

//FileInputStream fileInputStream = new FileInputStream(transferFiles);

FileInputStream fileInputStream = new FileInputStream(file);

BufferedInputStream butterInputStream = new BufferedInputStream(fileInputStream);

butterInputStream.read(bytearray, 0, bytearray.length);

OutputStream outStream = socket.getOutputStream();

System.out.println("Sending...");

outStream.write(bytearray, 0, bytearray.length);

outStream.flush();

}

socket.close();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值