Seu código está exatamente assim? À priori, todo “algoritmo” deveria estar dentro de um método ou de um construtor. Teu problema é que o compilador vai fornecer um construtor padrão e “enfiar” esse seu código dentro dele, maaaasssss o construtor de FileWriter pode lançar uma exceção verificada (IOException), então você precisa fornecer, explicitamente, o construtor para sua classe SistemaEscrita e tratar a exceção ou lançá-la para quem for construir um objeto dela.
Seguindo o que você fez, uma solução seria:
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
public class SistemaEscrita {
String path = "C:\\Users\\victo\\Desktop\\arquivoGerado.txt";
File arquivo = new File( path );
FileWriter fw;
public SistemaEscrita() {
try {
fw = new FileWriter( arquivo );
} catch ( IOException exc ) {
// trata a exceção aqui...
}
}
}
Uma forma menos feia, mais padronizada, seria assim:
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
public class SistemaEscrita {
private String path;
private File arquivo;
private FileWriter fw;
public SistemaEscrita() {
path = "C:\\Users\\victo\\Desktop\\arquivoGerado.txt";
arquivo = new File( path );
try {
fw = new FileWriter( arquivo );
} catch ( IOException exc ) {
// trata a exceção aqui...
}
}
}
Em tempo, se quiser lançar para quem construir SistemaEscrita tratar, seria algo assim:
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
public class SistemaEscrita {
private String path;
private File arquivo;
private FileWriter fw;
public SistemaEscrita() throws IOException {
path = "C:\\Users\\victo\\Desktop\\arquivoGerado.txt";
arquivo = new File( path );
fw = new FileWriter( arquivo );
}
}
E na classe cliente:
import java.io.IOException;
public class ClasseCliente {
public static void main( String[] args ) {
try {
SistemaEscrita se = new SistemaEscrita();
//...
} catch ( IOException exc ) {
// trata a exceção aqui...
}
}
}