O meu problema é, eu estou querendo criar um programa que leia outros programas em java, gravados em texto, e substitua o "for" por "while", fazendo as modificações necessárias automaticamente.
A lógica eu já sei, o meu problema é em fazer a comparação para achar o "for" e substitui-lo.
O código que eu fiz é esse:
import java.io.*;
import java.util.Scanner;
public class Ler{
public static void main(String args[]){
try{
Scanner sc = new Scanner(System.in);
System.out.print("Digite o diretorio do arquivo receptor: ");
String dir1 = sc.nextLine();
System.out.print("Digite o diretorio do arquivo a ser lido: ");
String dir2 = sc.nextLine();
File arquivo = new File(dir1);
File arquivo2 = new File(dir2);
FileInputStream in = new FileInputStream(arquivo2);
FileOutputStream fos = new FileOutputStream(arquivo);
Scanner read = new Scanner(in);
boolean ok = arquivo.createNewFile();
if (! ok){
while (read.hasNext()){
String readline = read.nextLine();
String parte = readline.substring(0,3);
if (parte == null){
fos.write(System.getProperty("line.separator").getBytes());
}
else{
if (parte.equals("for")){
String t = "Oi for";
fos.write(readline.getBytes());
}
else{
fos.write(readline.getBytes());
fos.write(System.getProperty("line.separator").getBytes());
}
}
}
}
else{
System.out.print("não foi possivel criar o arquivo");
}
}
catch(IOException e){
// nada
}
}
}
Pergunta
Victor_DF
Oi pessoal...
O meu problema é, eu estou querendo criar um programa que leia outros programas em java, gravados em texto, e substitua o "for" por "while", fazendo as modificações necessárias automaticamente.
A lógica eu já sei, o meu problema é em fazer a comparação para achar o "for" e substitui-lo.
O código que eu fiz é esse:
import java.io.*; import java.util.Scanner; public class Ler{ public static void main(String args[]){ try{ Scanner sc = new Scanner(System.in); System.out.print("Digite o diretorio do arquivo receptor: "); String dir1 = sc.nextLine(); System.out.print("Digite o diretorio do arquivo a ser lido: "); String dir2 = sc.nextLine(); File arquivo = new File(dir1); File arquivo2 = new File(dir2); FileInputStream in = new FileInputStream(arquivo2); FileOutputStream fos = new FileOutputStream(arquivo); Scanner read = new Scanner(in); boolean ok = arquivo.createNewFile(); if (! ok){ while (read.hasNext()){ String readline = read.nextLine(); String parte = readline.substring(0,3); if (parte == null){ fos.write(System.getProperty("line.separator").getBytes()); } else{ if (parte.equals("for")){ String t = "Oi for"; fos.write(readline.getBytes()); } else{ fos.write(readline.getBytes()); fos.write(System.getProperty("line.separator").getBytes()); } } } } else{ System.out.print("não foi possivel criar o arquivo"); } } catch(IOException e){ // nada } } }Agradeço a atenção.
Editado por Victor_DFLink para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.