উত্তর:
String fileContents = new File('/path/to/file').text
আপনি যদি অক্ষর এনকোডিং নির্দিষ্ট করতে চান তবে পরিবর্তে নিম্নলিখিতটি ব্যবহার করুন:
String fileContents = new File('/path/to/file').getText('UTF-8')
File
কোনও সাধারণ জাভা জার থেকে উত্পন্ন হলেও এমনকি এটি কাজ করে । আমি নিশ্চিত ছিলাম না যে গ্রোভির নিজস্ব বিশেষ File
শ্রেণিটি text
বৈশিষ্ট্য, বা অন্য কোনও কিছু আছে File
কিনা , তবে এটি মনে হয় যে বস্তুটি কোথা থেকে এসেছে তা বিবেচ্য নয়, এটি গ্রোভি কোড বা জাভা কোড দ্বারা ইনস্ট্যান্ট করা হয়েছে কিনা।
সংক্ষিপ্ততম উপায় সত্যই সঠিক
String fileContents = new File('/path/to/file').text
তবে এই ক্ষেত্রে ফাইলের বাইটগুলি কীভাবে অক্ষর হিসাবে ব্যাখ্যা করা যায় সে বিষয়ে আপনার কোনও নিয়ন্ত্রণ নেই। এএফআইএকে গ্রুভি ফাইলের সামগ্রী দেখে এখানে এনকোডিংটি অনুমান করার চেষ্টা করে।
আপনি যদি একটি নির্দিষ্ট অক্ষর এনকোডিং করতে চান তবে আপনি একটি চরসেটের নামটি নির্দিষ্ট করতে পারেন
String fileContents = new File('/path/to/file').getText('UTF-8')
আরও রেফারেন্সের জন্য এপিআই ডক্সFile.getText(String)
দেখুন ।
someFile.text
একটি বুদ্ধিমান অনুমান দেখা যায় না, এটা শুধু প্ল্যাটফর্ম ডিফল্ট এনকোডিং (সাধারণত হল UTF-8 আধুনিক Linuxes উপর, কিন্তু Windows-1252 বা MacRoman উইন্ডোজ / ম্যাক OS, যদি না আপনি এটি দিয়ে ওভাররাইড করেছেন তার উপরে ভালো কিছু ব্যবহার -Dfile.encoding=...
)
কিছুটা ভিন্নতা ...
new File('/path/to/file').eachLine { line ->
println line
}
সবচেয়ে সহজ উপায় হবে
যার অর্থ আপনি কেবল করতে পারলেন:
new File(filename).text
আমার ক্ষেত্রে new File()
কাজ করে না, এটি FileNotFoundException
জেনকিনস পাইপলাইনের কাজ চালানোর সময় সৃষ্টি করে । নিম্নলিখিত কোড এটি সমাধান করেছে, এবং আমার মতে এটি আরও সহজ:
def fileContents = readFile "path/to/file"
আমি এখনও এই পার্থক্যটি পুরোপুরি বুঝতে পারি না তবে সম্ভবত এটি অন্য কাউকে একই সমস্যায় সহায়তা করবে। সম্ভবত ব্যতিক্রমটি ঘটায় কারণ new File()
গ্রোভি কোড কার্যকর করে এমন সিস্টেমে একটি ফাইল তৈরি করে, যা আমি পড়তে চেয়েছিলাম এমন ফাইলের চেয়ে আলাদা সিস্টেম।
String fp_f = readFile("any_file") if (fp.length()) { currentBuild.description = fp }
এছাড়াও, যদি ফাইলটি পাওয়া না যায় তবে ত্রুটি রয়েছে।
এখানে আপনি একই কাজ করার জন্য অন্য কোনও উপায় খুঁজে পেতে পারেন।
ফাইল পড়া.
File file1 = new File("C:\Build\myfolder\myTestfile.txt");
def String yourData = file1.readLines();
সম্পূর্ণ ফাইল পড়ুন।
File file1 = new File("C:\Build\myfolder\myfile.txt");
def String yourData= file1.getText();
ফাইল লাইন বাই লাইন পড়ুন।
File file1 = new File("C:\Build\myfolder\myTestfile.txt");
for (def i=0;i<=30;i++) // specify how many line need to read eg.. 30
{
log.info file1.readLines().get(i)
}
একটি নতুন ফাইল তৈরি করুন।
new File("C:\Temp\FileName.txt").createNewFile();
def
টাইপ নির্দিষ্ট করার সময় আপনার প্রয়োজনীয়তা সম্পর্কে নিশ্চিত নই ।