|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Jul 2005
Messaggi: 584
|
editor java che inserisce numeri linea
sapete consigliarmi qualche editor per programmi java che consente di stampare/copiare il listato inserendo i numeri vicino a ogni linea di codice, tipo:
1: ... 2: ... 3: ... dovrei copiare il codice in word, inoltre sapete anche se c'è qualche editor che nel copiare il codice riporti anche i colori (esempio il verde per i commenti) in modo che in word non risulta scritto tutto in nero!!! ![]() |
![]() |
![]() |
![]() |
#2 | |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
I due tools che ho appena menzionato non lo fanno (almeno per quello che mi risulta). Copiano solo il testo senza alcuna formattazione e basta. Qui ci vorrebbero dei tools appositi (e probabilmente esistono già ...).
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
![]() |
![]() |
![]() |
#3 | |
Senior Member
Iscritto dal: May 2006
Città: Salerno
Messaggi: 936
|
Quote:
Codice:
import java.io.*; import java.awt.*; import java.awt.datatransfer.*; class CopyFile { public static void main(String[] args) { String finalString = ""; int lineNum = 1; if(args.length == 1) { try { FileInputStream fStream = new FileInputStream(args[0]); DataInputStream dStream = new DataInputStream(fStream); while(dStream.available()!=0) { if(lineNum != 1) { finalString += "\n"; } finalString += itoa(lineNum++) + " " + dStream.readLine(); } dStream.close(); } catch (Exception e) { System.out.println("Input Error!"); } Clipboard clipBoard = Toolkit.getDefaultToolkit ().getSystemClipboard (); // Preso dal sito clipBoard.setContents (new StringSelection (finalString), null); // di andbin :) } else { System.out.println("Errore. Il parametro deve essere uno"); } } public static String itoa(int num) { int[] cifre = new int[100]; int next = 0; int currNumVal = 0; String ret = ""; while(num != 0) { currNumVal = 0; while(num%10 > 0) { num--; currNumVal++; } if(num != 0) num /= 10; cifre[next] = currNumVal + 48; next++; } for(int i = 0; i < next; i++) { ret = (char)cifre[i] + ret; } return ret; } } ![]() p.s. le due righe per copiare il testo nella clipboard le ho prese dal sito di andbin ![]() p.p.s. il risultato leggendo se stesso: Codice:
1 import java.io.*; 2 import java.awt.*; 3 import java.awt.datatransfer.*; 4 5 class CopyFile { 6 public static void main(String[] args) { 7 String finalString = ""; 8 int lineNum = 1; 9 if(args.length == 1) { 10 11 try { 12 FileInputStream fStream = new FileInputStream(args[0]); 13 DataInputStream dStream = new DataInputStream(fStream); 14 15 while(dStream.available()!=0) { 16 if(lineNum != 1) { 17 finalString += "\n"; 18 } 19 20 finalString += itoa(lineNum) + " " + dStream.readLine(); 21 lineNum++; 22 } 23 dStream.close(); 24 } catch (Exception e) { 25 System.out.println("Input Error!"); 26 } 27 28 Clipboard clipBoard = Toolkit.getDefaultToolkit ().getSystemClipboard (); // Preso dal sito 29 clipBoard.setContents (new StringSelection (finalString), null); // di andbin :) 30 31 } else { 32 System.out.println("Errore. Il parametro deve essere uno"); 33 } 34 } 35 36 public static String itoa(int num) { 37 int[] cifre = new int[100]; 38 int next = 0; 39 int currNumVal = 0; 40 String ret = ""; 41 while(num != 0) { 42 currNumVal = 0; 43 while(num%10 > 0) { 44 num--; 45 currNumVal++; 46 } 47 if(num != 0) num /= 10; 48 cifre[next] = currNumVal + 48; 49 next++; 50 } 51 for(int i = 0; i < next; i++) { 52 ret = (char)cifre[i] + ret; 53 } 54 return ret; 55 } 56 } Ultima modifica di AngeL) : 25-06-2007 alle 09:41. |
|
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
Eclipse mantiene correttamente formattazione e colorazione quando viene copiato in word.
__________________
![]() |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Jul 2005
Messaggi: 584
|
|
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: May 2005
Messaggi: 390
|
Un editor che ti dà i numeri di linea e mi pare dia anche l'opportunità di copiare testo è Scite(Scintilla text editor), ma è un editor più adatto per chi sta iniziando a muovere i primi passi con Java, se vuoi qualcosa di più serio a mio avviso il migliore è Eclipse, distribuito direttamente dalla Sun, troverai alcuni bugs inizialmente un pò fastidiosi ma dopo che ti ci sarai abituato ti troverai molto bene(almeno IMHO)
![]() |
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: May 2006
Città: Salerno
Messaggi: 936
|
|
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Mi ci metto anch'io, ecco il mio sorgente (Java 5+):
Codice:
import java.awt.*; import java.awt.datatransfer.*; import java.io.*; public class LineNumberTool { public static void main (String[] args) { if (args.length == 1 || args.length == 2) { InputStream is = null; InputStreamReader isr = null; BufferedReader br = null; try { is = new FileInputStream (args[0]); isr = new InputStreamReader (is, args.length == 2 ? args[1] : "ISO-8859-1"); br = new BufferedReader (isr); StringBuilder sb = new StringBuilder (); String s; int l = 1; while ((s = br.readLine ()) != null) sb.append (String.format ("%-5d %s%n", l++, s)); Clipboard clipBoard = Toolkit.getDefaultToolkit ().getSystemClipboard (); clipBoard.setContents (new StringSelection (sb.toString ()), null); } catch (Exception e) { System.err.println (e); } finally { try { if (br != null) br.close (); else if (isr != null) isr.close (); else if (is != null) is.close (); } catch (Exception e) { } } } else { System.out.println ("Usage: java LineNumberTool <filename> [<charset>]"); } } }
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
![]() |
![]() |
![]() |
#11 |
Senior Member
Iscritto dal: May 2005
Messaggi: 390
|
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 07:54.