resource loadbundle basename application java properties

loadbundle - Uso de propiedades en java



resource bundle jsf (1)

Supongo que java.util.Properties tiene métodos de compilación para lograr lo que estás intentando. Consulte este ejemplo y encontrará una mejor solución.

public class App { public static void main( String[] args ){ Properties prop = new Properties(); InputStream input = null; try { String filename = "config.properties"; input = App.class.getClassLoader().getResourceAsStream(filename); if(input==null){ System.out.println("Sorry, unable to find " + filename); return; } //load a properties file from class path, inside static method prop.load(input); //get the property value and print it out System.out.println(prop.getProperty("file1.txt")); System.out.println(prop.getProperty("file2.txt")); } catch (IOException ex) { ex.printStackTrace(); } finally{ if(input!=null){ try { input.close(); } catch (IOException e) { e.printStackTrace(); } } } } }

Soy nuevo aquí y me gustaría preguntar cómo pueden trabajar las properties con los códigos Java. Quiero decir que los values dentro de las properties se usarán como variables. Por ejemplo, tengo file1.txt y file2.txt dentro de config.properties y lo Arraylist en un Arraylist luego escaneo la carpeta y si los archivos están encontrados, cópielo. Mi trabajo solo muestra los nombres de los datos de las propiedades que se almacenan en el arraylist, pero mi otro problema es cómo se copiarán estos datos en otra carpeta.

hasta ahora este es mi código

public class MainClass { static Properties prop = new Properties(); static InputStream input = null; static String filename = ""; public static void main(String[] args) throws IOException { File source = new File("D:/ojt"); File dest = new File("D:/ojt/New folder"); Properties prop = new Properties(); InputStream input = null; try { // getFiles(filename); } catch (IOException ex) { ex.printStackTrace(); } finally { if (input != null) { try { input.close(); } catch (IOException e) { e.printStackTrace(); } } } } private static void copyFileUsingStream(File source, File dest) throws IOException { InputStream is = null; OutputStream os = null; try { is = new FileInputStream(source); os = new FileOutputStream(dest); byte[] buffer = new byte[1024]; int length; while ((length = is.read(buffer)) > 0) { os.write(buffer, 0, length); } } finally { is.close(); os.close(); } } private static void copy(String fromPath, String outputPath) { // filter = new FileTypeOrFolderFilter(fileType); File currentFolder = new File(fromPath); File outputFolder = new File(outputPath); scanFolder(currentFolder, outputFolder); } private static void getFiles(String path) throws IOException{ //Put filenames in arraylist<string> String filename = "bydatefilesdir.props"; input = MainClass.class.getClassLoader().getResourceAsStream(filename); Scanner s = new Scanner(input); File dir = new File(path); final ArrayList<String> list = new ArrayList<String>(); while (s.hasNextLine()){ list.add(s.nextLine()); } // ArrayList<String> filenames = new ArrayList<String>(); // for(File file : dir.listFiles()){ // filenames.add(file.getName()); // } prop.load(input); //Check if the files are in the arraylist for (int i = 0; i < list.size(); i++){ String s1 = list.get(i); System.out.println("File "+i+" : "+s1); } System.out.println("/n"); } private static void copyFileUsingStream(File source, File dest) throws IOException { InputStream is = null; OutputStream os = null; try { is = new FileInputStream(source); os = new FileOutputStream(dest); byte[] buffer = new byte[1024]; int length; while ((length = is.read(buffer)) > 0) { os.write(buffer, 0, length); } } finally { is.close(); os.close(); } } private static void copy(String source, String dest) { // filter = new FileTypeOrFolderFilter(fileType); File currentFolder = new File(source); File outputFolder = new File(dest); scanFolder(currentFolder, outputFolder); } private static void scanFolder(File source, File dest) { System.out.println("Scanning folder [" + source.toString() + "].../n"); File[] files = source.listFiles(); for (File file : files) { if (file.isDirectory()) { scanFolder(source, dest); } else { try { copyFileUsingStream(source, dest); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } }

PD: perdón por la pobre programación que acaba de ser nueva en java ... sigue aprendiendo
Editado: he incluido los códigos actualizados arriba ..