| 
 | |||||||
| 
 | 
|  | 
|  | 
|  | Strumenti | 
|  24-06-2007, 23:10 | #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!!!   | 
|   |   | 
|  25-06-2007, 10:06 | #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%) | |
|   |   | 
|  25-06-2007, 10:37 | #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 10:41. | |
|   |   | 
|  25-06-2007, 10:46 | #4 | 
| Senior Member Iscritto dal: Jul 2002 Città: Reggio Calabria -> London 
					Messaggi: 12112
				 | 
		Eclipse mantiene correttamente formattazione e colorazione quando viene copiato in word.
		 
				__________________   | 
|   |   | 
|  26-06-2007, 00:37 | #5 | 
| Senior Member Iscritto dal: Jul 2005 
					Messaggi: 584
				 | |
|   |   | 
|  26-06-2007, 16:35 | #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)   . Se puoi spendere anche qualche soldino puoi acquistare JBuilder, dicono sia tra i migliori(personalmente non l'ho mai provato). | 
|   |   | 
|  26-06-2007, 19:20 | #9 | 
| Senior Member Iscritto dal: May 2006 Città: Salerno 
					Messaggi: 936
				 | |
|   |   | 
|  26-06-2007, 21:24 | #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%) | 
|   |   | 
|  26-06-2007, 22:56 | #11 | 
| Senior Member Iscritto dal: May 2005 
					Messaggi: 390
				 | |
|   |   | 
|   | 
| Strumenti | |
| 
 | 
 | 
Tutti gli orari sono GMT +1. Ora sono le: 15:08.









 
		 
		 
		 
		





 Infedele!
 Infedele!  
		
 
		 
		





 
  
 



 
                        
                        










