|
|||||||
|
|
|
![]() |
|
|
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: 00:23.












Infedele!








