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 ..