java網路編程客戶端無法啟動包沒有main型別,明明我寫了,服務器可以啟動
public static void main(String[] args) throws IOException {
// 1. 創建本地FileInputStream物件,讀取資料源
FileInputStream fis=new FileInputStream("E:\\java\\test.jpg");
//2. 創建一個客戶端Socket物件,構造方法中系結IP地址還有埠號
Socket s=new Socket("127.0.0.1",8888);
//使用Socket中的方法getOutStream,獲取網路位元組輸出流OutputStream物件
OutputStream os =s.getOutputStream();
// 4. 使用本地FileInputStream的read方法讀取本地資料
byte[] bytes=new byte[1024];
int len=0;
while ((len=fis.read(bytes))!=-1) {
// 5. 使用網路位元組輸出流OutStream的方法write,把讀取的檔案上傳到服務器
os.write(bytes,0,len);
}
//6. 使用Socket中的方法getInputStream,獲取網路位元組輸入流的InputStream物件
InputStream is=s.getInputStream();
//7. 使用網路位元組輸入流InputStream的方法read讀取服務器回寫的資料
while ((len=is.read(bytes))!=-1) {
System.out.println(new String(bytes,0,len));
}
// 8. 釋放資源
s.close();
fis.close();
}有沒有大佬看一下啊,謝謝
uj5u.com熱心網友回復:
emmm,換了一個類之后可以了,但是為啥不顯示服務器的回復訊息[code=java]//1. 創建服務器物件ServeSocket,和系統要埠
ServerSocket serve=new ServerSocket(8888);
// 2. 使用ServeSocket物件的方法accept獲取客戶端物件
Socket socket= serve.accept();
//3. 使用Socket中的方法getInputStream,獲取網路位元組輸入流的InputStream物件
InputStream ins=socket.getInputStream();
//4. 查詢目的地是否存在
File file =new File("E:\\java\\Test");
if (!file.exists()) {
file.mkdir();
}
/*
* 自定義命名規范
*/
String filename ="\\yf"+System.currentTimeMillis()+new Random().nextInt(8888)+".jpg";
//5. 創建以本地位元組輸出流 FileOutputStream,系結輸出目的地
//FileOutputStream fos=new FileOutputStream(file+"\\sc.jpg");
FileOutputStream fos=new FileOutputStream(file+filename);
// 6. 使用網路位元組流InputStream的方法read,讀取上傳檔案
byte[] bytes=new byte[1024];
int len=0;
while ((len=ins.read(bytes))!=-1) {
//7. 使用本地輸出流FileOutStream物件的方法write,把讀取的檔案報春到服務器硬碟上
fos.write(bytes, 0, len);
}
//8. 使用socket物件中的方法getOutputStream獲取到網路位元組輸出流OutputStream物件
//9. 使用網路OutputStream物件,回寫上傳成功
socket.getOutputStream().write("上傳成功".getBytes());
//10. 關閉流
fos.close();
socket.close();
serve.close();
