📄 fileclient.java
字号:
/*
* Created on 2006-2-25
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
/**
* @author 之诸暇
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
import java.io.*;
import java.net.*;
import javax.swing.JFrame;
import javax.swing.ProgressMonitorInputStream;
public class FileClient{
private JFrame myframe;
private ProgressMonitorInputStream pm;
public FileClient(JFrame frame,String name,String host)throws Exception{
myframe = frame;
//使用本地文件系统接受网络数据并存为新文件
File file=new File(name);
file.createNewFile();
RandomAccessFile raf=new RandomAccessFile(file,"rw");
// 通过Socket连接文件服务器
Socket server=new Socket(InetAddress.getByName(host),3108);
//创建网络接受流接受服务器文件数据
InputStream netIn=server.getInputStream();
InputStream in=new DataInputStream(new BufferedInputStream(netIn));
pm = new ProgressMonitorInputStream(myframe,"已完成",in);
//创建缓冲区缓冲网络数据
byte[] buf=new byte[2048];
int num=in.read(buf);
while(num!=(-1)){//是否读完所有数据
raf.write(buf,0,num);//将数据写往文件
raf.skipBytes(num);//顺序写文件字节
num=in.read(buf);//继续从网络中读取文件
}
pm.close();
in.close();
raf.close();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -