⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fileclient.java

📁 一个简单的socket聊天工具,实现在发送文件和语音聊天等功能,还能聊天的同时听音乐,分服务器端和客户端两部分
💻 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 + -