مهدی عادلی فر
بنیانگذار توسینسو و برنامه نویس

آموزش به دست آوردن اندازه فایل و تغییر دسترسی فایل در جاوا

چگونه اندازه فایل در Java را به دست بیاوریم ؟ چگونه دسترسی فایل در Java را تغییر دهیم ؟ در این مطلب قصد دارم چند تا از اعمالی که می توان با زبان جاوا در کار با فایل ها به کار برد توضیح بدهم و نحوه استفاده از متدهای آنها را شرح دهم.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

در دوره آموزش جاوا ( آموزش برنامه نویسی جاوا ) این موارد بصورت رایگان آموزش داده شده است

به دست آوردن اندازه فایل بر حسب بایت

اگر بخواهیم اندازه یک فایل در جاوا را بر حسب بایت به دست بیاوردیم از متد length آن استفاده می کنیم. در کد زیر مثالی از این متد نشان داده شده است. دقت داشته باشید که از متد exists برای این استفاده شده است که ببینیم فایل مورد نظر در مسیر مورد نظر وجود دارد یا خیر.

import java.io.File;

public class Main {
   public static long getFileSize(String filename) {
      File file = new File(filename);
      if (!file.exists() || !file.isFile()) {
         System.out.println("File doesn\'t exist");
         return -1;
      }
      return file.length();
   }
   public static void main(String[] args) {
      long size = getFileSize("c:/java.txt");
      System.out.println("Filesize in bytes: " + size);
   }
}

برای تست این برنامه ابتدا بدون هیچ کاری برنامه را اجرا کنید. خواهید دید که پیام پیدا نشدن فایل نشان داده می شود. حال اگر فایلی با نام java.txt را در داخل درایو c قرار دهید اندازه فایل به شما داده خواهد شد و خروجی برنامه به شکل زیر خواهد بود:

File size in bytes: 480

readOnly کردن یک فایل

اگر شما بخواهید یک فایل را به صورت فقط خواندنی در بیاورید به صورتی که کاربر قادر به نوشتن در فایل نباشد در زبان جاوا با استفاده از کلاس File به راحتی می توانید این کار را انجام دهید. برای این کار شما باید از متد setReadOnly استفاده کنید. همچنین برای چک کردن این که یک فایل readOnly هست یا خیر می توان از متد CanWrite استفاده کرد. اگر فایل readOnly باشد این متد مقدار false و در غیر این صورت مقدار true برمی گرداند. برای مثال به برنامه زیر توجه نمایید.

import java.io.File;

public class Main {
   public static void main(String[] args) {
      File file = new File("C:/java.txt");
      System.out.println(file.setReadOnly());
      System.out.println(file.canWrite());
   }
}

خروجی این برنامه به شکل زیر خواهد بود.

true
false

همانطور که در کد بالا دیده می شود متد setReadOnly نیز دارای مقدار بازگشتی Boolean است. به این شکل که اگر عمل readOnly کردن با موفقیت انجام شود این متد مقدار true و در غیر این صورت مقدار false برمی گرداند.


مهدی عادلی فر
مهدی عادلی فر

بنیانگذار توسینسو و برنامه نویس

مهدی عادلی، بنیان گذار TOSINSO. کارشناس ارشد نرم افزار کامپیوتر از دانشگاه صنعتی امیرکبیر و #C و جاوا و اندروید کار می کنم. در زمینه های موبایل و وب و ویندوز فعالیت دارم و به طراحی نرم افزار و اصول مهندسی نرم افزار علاقه مندم.

نظرات