1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

BufferedWriter não está escrendo no arquivo

Estou tentando ler de um arquivo , e mandar para o servidor o que estou lendo desse arquivo, e no servidor eu quero receber essas informações e guardar em outro arquivo , porém essa última parte não está dando certo. Eu só consigo ler de um arquivo manda e depois no servidor imprimir no console. Alguém sabe onde estou errando? Cliente (ok)

package sockets;

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.Scanner;

public class Cliente {
    public static void main(String[] args) throws UnknownHostException, IOException {
        Socket cliente = new Socket("127.0.0.1",12345);
        System.out.println("O cliente se conectou ao servidor!");

        //Scanner teclado = new Scanner(System.in);
        BufferedReader bf = new BufferedReader(new InputStreamReader(new FileInputStream("arquivo.txt")));
        PrintStream saida = new PrintStream(cliente.getOutputStream());

        /*while(teclado.hasNextLine()){
            saida.println(teclado.nextLine());
        }*/
        String linha = "";
        do{
            linha = bf.readLine();
            if(linha != null){
                saida.println(linha);
            }
        }while(linha != null);

        //teclado.close();
    }

}

Servidor (com problema)

package sockets;

import java.io.BufferedWriter;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;

public class Servidor {
    public static void main(String[] args) throws IOException {
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("saida.txt")));
        ServerSocket servidor = new ServerSocket(12345);
        System.out.println("Porta 12345 aberta!");

        Socket cliente = servidor.accept();
        System.out.println("Nova conexão com o cliente " + cliente.getInetAddress().getHostAddress());

        Scanner entrada = new Scanner(cliente.getInputStream());
        while(entrada.hasNextLine()){
            bw.write(entrada.nextLine());
            bw.newLine();
        }

        entrada.close();
        servidor.close();
    }

}
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags sockets ou faça a sua própria pergunta.