第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

Java - 每行中缺少第一個(gè)字母

Java - 每行中缺少第一個(gè)字母

開心每一天1111 2023-06-04 17:46:23
我正在創(chuàng)建將文件傳輸?shù)娇蛻舳说奈募鬏敵绦?。但是?dāng)我傳輸文件時(shí),它丟失了每一行的第一個(gè)字母。我的代碼有什么問題?我是 java 的新手,所以我不知道下一步該做什么。我試過更改字節(jié)大小但沒有幫助。我應(yīng)該怎么辦?Server.javaimport java.io.*;import java.net.ServerSocket;import java.net.Socket;import java.util.Scanner;class Server {    public static void main(String[] args) throws IOException {        FileInputStream fis = null;        BufferedInputStream bis = null;        OutputSteam os = null;        ServerSocket serverSocket = null;        Scanner scan = new Scanner(System.in);        String fileSend;        System.out.print("Type the path to the file to send >> ");        fileSend = scan.nextLine();        try {            serverSocket = new ServerSocket(5467);        } catch (Exception e) {            System.out.println("Could not bind to port 5467, Maybe address is already is use or you need to run as administrator");            return;        }        System.out.println("Listening on port 5467");        System.out.println("Waiting for the connection...");        while (true) {            File FileSend = null;            Socket socket = serverSocket.accept();            OutputStream out = socket.getOutputStream();            System.out.println("Accepted connection : " + socket);            InputStream in = socket.getInputStream();            DataInputStream dataIn = new DataInputStream(in);            String login = dataIn.readUTF();            String password = dataIn.readUTF();            String result = "You credential is ";            if (login.equals("1c18b5cdef8f9b4c5d6b2ad087265e597d1d4639337b73a04a335103c00ec64b") && password.equals("1c18b5cdef8f9b4c5d6b2ad087265e597d1d4639337b73a04a335103c00ec64b13d0b73358bfa8978dfaaf180565bcfecd3dc0631cda525920865145fb3fa131")) {                result += "correct";            } else {                result += "incorrect";            }        }    }
查看完整描述

2 回答

?
郎朗坤

TA貢獻(xiàn)1921條經(jīng)驗(yàn) 獲得超9個(gè)贊

文件是可序列化的,所以我建議您應(yīng)該嘗試直接通過 ObjectOutputStream / ObjectInputStream 發(fā)送它。


例如在服務(wù)器端:


ObjectInputStream in = new ObjectInputStream(socket.getInputStream());

ObjectOutputStream out = new ObjectOutputStream(socket.getOutputStream());

...

out.writeObject(yourFileObject);

在客戶端:


ObjectInputStream in = new ObjectInputStream(socket.getInputStream());

ObjectOutputStream out = new ObjectOutputStream(socket.getOutputStream());

...

File receivedFile = null;

try {

    receivedFile = (File) in.readObject();

}

catch (IOException e) {

...

}


查看完整回答
反對(duì) 回復(fù) 2023-06-04
?
眼眸繁星

TA貢獻(xiàn)1873條經(jīng)驗(yàn) 獲得超9個(gè)贊

我不完全確定為什么會(huì)發(fā)生這種情況,但您不應(yīng)該使用DataInputStreamwhich “讓應(yīng)用程序讀取原始 Java 數(shù)據(jù)類型”,而InputStreamReaderwhich “是從字節(jié)流到字符流的橋梁”。

此外,您可以將該閱讀器包裝成一個(gè)BufferedReader讓您逐行閱讀的內(nèi)容,您最終會(huì)得到類似


try (BufferedReader reader=new BufferedReader(new InputStreamReader(inStream, UTF8));

? ? ?PrintWriter writer = new PrintWriter(file)) {

? ? reader.lines().forEach(writer::println);

}

上傳,或


try (PrintWriter writer = new PrintWriter(outStream)) {

? ? Files.lines().forEach(writer::println);

}

下載。


查看完整回答
反對(duì) 回復(fù) 2023-06-04
  • 2 回答
  • 0 關(guān)注
  • 166 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)